X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=system.h;h=f3b1bab329be6ddd4d5600ce35468c80a41f4a43;hb=6b52f62e25ed30e68b4997fac0c52ad1876d4665;hp=2318ae15130690a0db261fdbcb8f14f6f91b0349;hpb=2cadb6a1c5ec48a9a9ca3c57b9c04a729ba2c4c7;p=platform%2Fupstream%2Frpm.git diff --git a/system.h b/system.h index 2318ae1..f3b1bab 100644 --- a/system.h +++ b/system.h @@ -9,30 +9,6 @@ #include "config.h" #endif -#include - -#if defined(__LCLINT__) -/*@-redef@*/ -typedef unsigned int u_int32_t; -typedef unsigned short u_int16_t; -typedef unsigned char u_int8_t; -/*@-incondefs@*/ /* LCLint 3.0.0.15 */ -typedef int int32_t; -/*@=incondefs@*/ -/* XXX from /usr/include/bits/sigset.h */ -/*@-sizeoftype@*/ -# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) -typedef struct - { - unsigned long int __val[_SIGSET_NWORDS]; - } __sigset_t; -/*@=sizeoftype@*/ -/*@=redef@*/ -#endif - -#include -#include - #ifdef HAVE_SYS_PARAM_H #include #endif @@ -41,14 +17,7 @@ typedef struct of _POSIX_VERSION. */ #ifdef HAVE_UNISTD_H #include -#if defined(__LCLINT__) -/*@-superuser -declundef -incondefs @*/ /* LCL: modifies clause missing */ -extern int chroot (const char *__path) - /*@globals errno, systemState @*/ - /*@modifies errno, systemState @*/; -/*@=superuser =declundef =incondefs @*/ -#endif -#if !defined(__GLIBC__) && !defined(__LCLINT__) +#if !defined(__GLIBC__) #ifdef __APPLE__ #include #define environ (*_NSGetEnviron()) @@ -58,134 +27,26 @@ extern char ** environ; #endif #endif -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#if NEED_TIMEZONE -extern time_t timezone; -#endif - -/* Since major is a function on SVR4, we can't use `ifndef major'. */ -#if MAJOR_IN_MKDEV -#include -#define HAVE_MAJOR -#endif -#if MAJOR_IN_SYSMACROS -#include -#define HAVE_MAJOR -#endif -#ifdef major /* Might be defined in sys/types.h. */ -#define HAVE_MAJOR -#endif - -#ifndef HAVE_MAJOR -#define major(dev) (((dev) >> 8) & 0xff) -#define minor(dev) ((dev) & 0xff) -#define makedev(maj, min) (((maj) << 8) | (min)) -#endif -#undef HAVE_MAJOR - -#ifdef HAVE_UTIME_H -#include -#endif - -#ifdef HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include -# endif -# include -#else -# include -char *memchr (); -#endif - #if !defined(HAVE_STPCPY) -char * stpcpy(/*@out@*/ char * dest, const char * src); +char * stpcpy(char * dest, const char * src); #endif #if !defined(HAVE_STPNCPY) -char * stpncpy(/*@out@*/ char * dest, const char * src, size_t n); -#endif - -#include -#ifndef errno -/*@-declundef @*/ -extern int errno; -/*@=declundef @*/ -#endif - -#if defined(__LCLINT__) -/*@-declundef @*/ -/*@exits@*/ -extern void error(int status, int errnum, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -/*@=declundef @*/ -#else -#if HAVE_ERROR && HAVE_ERROR_H -#include -#endif +char * stpncpy(char * dest, const char * src, size_t n); #endif -#if HAVE___SECURE_GETENV && !defined(__LCLINT__) +#if HAVE_SECURE_GETENV +#define getenv(_s) secure_getenv(_s) +#elif HAVE___SECURE_GETENV #define getenv(_s) __secure_getenv(_s) #endif -#ifdef STDC_HEADERS -/*@-macrounrecog -incondefs -globuse -mustmod @*/ /* FIX: shrug */ -#define getopt system_getopt -/*@=macrounrecog =incondefs =globuse =mustmod @*/ -/*@-skipansiheaders@*/ -#include -/*@=skipansiheaders@*/ -#undef getopt -#if defined(__LCLINT__) -/*@-declundef -incondefs @*/ /* LCL: modifies clause missing */ -extern char * realpath (const char * file_name, /*@out@*/ char * resolved_name) - /*@globals errno, fileSystem @*/ - /*@requires maxSet(resolved_name) >= (PATH_MAX - 1); @*/ - /*@modifies *resolved_name, errno, fileSystem @*/; -/*@=declundef =incondefs @*/ -#endif -#else /* not STDC_HEADERS */ -char *getenv (const char *name); -#if ! HAVE_REALPATH -char *realpath(const char *path, char resolved_path []); -#endif -#endif /* STDC_HEADERS */ - -/* XXX solaris2.5.1 has not */ -#if !defined(EXIT_FAILURE) -#define EXIT_FAILURE 1 -#endif - #ifdef HAVE_FCNTL_H #include #else #include #endif -#if !defined(SEEK_SET) && !defined(__LCLINT__) -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif -#if !defined(F_OK) && !defined(__LCLINT__) -#define F_OK 0 -#define X_OK 1 -#define W_OK 2 -#define R_OK 4 -#endif - #ifdef HAVE_DIRENT_H # include # define NLENGTH(direct) (strlen((direct)->d_name)) @@ -203,240 +64,52 @@ char *realpath(const char *path, char resolved_path []); # endif /* HAVE_NDIR_H */ #endif /* HAVE_DIRENT_H */ -#if defined(__LCLINT__) -/*@-declundef -incondefs @*/ /* LCL: missing annotation */ -/*@only@*/ /*@out@*/ void * alloca (size_t __size) - /*@ensures maxSet(result) == (__size - 1) @*/ - /*@*/; -/*@=declundef =incondefs @*/ -#endif - -#ifdef __GNUC__ -# undef alloca -# define alloca __builtin_alloca -#else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifndef _AIX -/* AIX alloca decl has to be the first thing in the file, bletch! */ -char *alloca (); -# endif -# endif -#endif - -#if defined (__GLIBC__) && defined(__LCLINT__) -/*@-declundef@*/ -/*@unchecked@*/ -extern __const __int32_t *__ctype_tolower; -/*@unchecked@*/ -extern __const __int32_t *__ctype_toupper; -/*@=declundef@*/ -#endif - -#include - -#if defined (__GLIBC__) && defined(__LCLINT__) -/*@-exportlocal@*/ -extern int isalnum(int) __THROW /*@*/; -extern int iscntrl(int) __THROW /*@*/; -extern int isgraph(int) __THROW /*@*/; -extern int islower(int) __THROW /*@*/; -extern int ispunct(int) __THROW /*@*/; -extern int isxdigit(int) __THROW /*@*/; -extern int isascii(int) __THROW /*@*/; -extern int toascii(int) __THROW /*@*/; -extern int _toupper(int) __THROW /*@*/; -extern int _tolower(int) __THROW /*@*/; -/*@=exportlocal@*/ - -#endif - -#if HAVE_SYS_MMAN_H && !defined(__LCLINT__) -#include -#endif - -/* XXX FIXME: popt on sunos4.1.3: requires */ -#if HAVE_SYS_RESOURCE_H && HAVE_SYS_TIME_H -#include -#endif - -#if HAVE_SYS_UTSNAME_H -#include -#endif - -#if HAVE_SYS_WAIT_H -#include -#endif - -#if HAVE_GETOPT_H -/*@-noparams@*/ -#include -/*@=noparams@*/ -#endif - -#if HAVE_GRP_H -#include -#endif - #if HAVE_LIMITS_H #include #endif -#if HAVE_ERR_H -#include +#ifndef PATH_MAX +#ifdef _POSIX_PATH_MAX +#define PATH_MAX _POSIX_PATH_MAX +#elif defined MAXPATHLEN +#define PATH_MAX MAXPATHLEN +#else +#define PATH_MAX 256 #endif - -#if HAVE_MALLOC_H && !defined(__LCLINT__) -#include #endif #if WITH_SELINUX #include +#include +#include #else typedef char * security_context_t; #define freecon(_c) -#define getfilecon(_fn, _c) (-1) -#define lgetfilecon(_fn, _c) (-1) -#define fgetfilecon(_fd, _c) (-1) - #define setfilecon(_fn, _c) (-1) #define lsetfilecon(_fn, _c) (-1) -#define fsetfilecon(_fd, _c) (-1) -#define security_check_context(_c) (0) - -#define is_selinux_enabled() (-1) +#define is_selinux_enabled() (0) #define matchpathcon_init(_fn) (-1) #define matchpathcon_fini() (0) #define matchpathcon(_fn, _fm, _c) (-1) -#define rpm_execcon(_v, _fn, _av, _envp) (0) -#endif - -#if defined(__LCLINT__) -/*@-incondefs@*/ -extern void freecon(/*@only@*/ security_context_t con) - /*@modifies con @*/; - -extern int getfilecon(const char *path, /*@out@*/ security_context_t *con) - /*@modifies *con @*/; -extern int lgetfilecon(const char *path, /*@out@*/ security_context_t *con) - /*@modifies *con @*/; -extern int fgetfilecon(int fd, /*@out@*/ security_context_t *con) - /*@modifies *con @*/; - -extern int setfilecon(const char *path, security_context_t con) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -extern int lsetfilecon(const char *path, security_context_t con) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -extern int fsetfilecon(int fd, security_context_t con) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; - -extern int getcon(/*@out@*/ security_context_t *con) - /*@modifies *con @*/; -extern int getexeccon(/*@out@*/ security_context_t *con) - /*@modifies *con @*/; -extern int setexeccon(security_context_t con) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; +#define selabel_lookup_raw(_hnd, _scon, _key,_type) (-1) -extern int security_check_context(security_context_t con) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -extern int security_getenforce(void) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; +#define selinux_file_context_path() (0) -extern int is_selinux_enabled(void) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -/*@=incondefs@*/ -#endif - -/*@-declundef -incondefs @*/ /* FIX: these are macros */ -/** - */ -/*@mayexit@*/ /*@only@*/ /*@out@*/ void * xmalloc (size_t size) - /*@globals errno @*/ - /*@ensures maxSet(result) == (size - 1) @*/ - /*@modifies errno @*/; - -/** - */ -/*@mayexit@*/ /*@only@*/ void * xcalloc (size_t nmemb, size_t size) - /*@ensures maxSet(result) == (nmemb - 1) @*/ - /*@*/; - -/** - * @todo Annotate ptr with returned/out. - */ -/*@mayexit@*/ /*@only@*/ void * xrealloc (/*@null@*/ /*@only@*/ void * ptr, - size_t size) - /*@ensures maxSet(result) == (size - 1) @*/ - /*@modifies *ptr @*/; - -/** - */ -/*@mayexit@*/ /*@only@*/ char * xstrdup (const char *str) - /*@*/; -/*@=declundef =incondefs @*/ - -/** - */ -/*@unused@*/ /*@exits@*/ /*@only@*/ void * vmefail(size_t size) - /*@*/; - -#if HAVE_MCHECK_H -#include -#if defined(__LCLINT__) -/*@-declundef -incondefs @*/ /* LCL: missing annotations */ -#if 0 -enum mcheck_status - { - MCHECK_DISABLED = -1, /* Consistency checking is not turned on. */ - MCHECK_OK, /* Block is fine. */ - MCHECK_FREE, /* Block freed twice. */ - MCHECK_HEAD, /* Memory before the block was clobbered. */ - MCHECK_TAIL /* Memory after the block was clobbered. */ - }; +#define rpm_execcon(_v, _fn, _av, _envp) (0) #endif -extern int mcheck (void (*__abortfunc) (enum mcheck_status)) - /*@globals internalState@*/ - /*@modifies internalState @*/; -extern int mcheck_pedantic (void (*__abortfunc) (enum mcheck_status)) - /*@globals internalState@*/ - /*@modifies internalState @*/; -extern void mcheck_check_all (void) - /*@globals internalState@*/ - /*@modifies internalState @*/; -extern enum mcheck_status mprobe (void *__ptr) - /*@globals internalState@*/ - /*@modifies internalState @*/; -extern void mtrace (void) - /*@globals internalState@*/ - /*@modifies internalState @*/; -extern void muntrace (void) - /*@globals internalState@*/ - /*@modifies internalState @*/; -/*@=declundef =incondefs @*/ -#endif /* defined(__LCLINT__) */ - -/* Memory allocation via macro defs to get meaningful locations from mtrace() */ -#if defined(__GNUC__) -#define xmalloc(_size) (malloc(_size) ? : vmefail(_size)) -#define xcalloc(_nmemb, _size) (calloc((_nmemb), (_size)) ? : vmefail(_size)) -#define xrealloc(_ptr, _size) (realloc((_ptr), (_size)) ? : vmefail(_size)) -#define xstrdup(_str) (strcpy((malloc(strlen(_str)+1) ? : vmefail(strlen(_str)+1)), (_str))) -#endif /* defined(__GNUC__) */ -#endif /* HAVE_MCHECK_H */ +#include "rpmio/rpmutil.h" +/* compatibility macros to avoid a mass-renaming all over the codebase */ +#define xmalloc(_size) rmalloc((_size)) +#define xcalloc(_nmemb, _size) rcalloc((_nmemb), (_size)) +#define xrealloc(_ptr, _size) rrealloc((_ptr), (_size)) +#define xstrdup(_str) rstrdup((_str)) +#define _free(_ptr) rfree((_ptr)) /* Retrofit glibc __progname */ #if defined __GLIBC__ && __GLIBC__ >= 2 @@ -451,269 +124,23 @@ extern void muntrace (void) else __progname = pn; \ } #endif -/*@unchecked@*/ extern const char *__progname; -#if HAVE_NETDB_H -#include -#endif - -#if HAVE_PWD_H -#include -#endif - /* Take care of NLS matters. */ - -#if HAVE_LOCALE_H +#if ENABLE_NLS # include -#endif -#if !HAVE_SETLOCALE -# define setlocale(Category, Locale) /* empty */ -#endif - -#if ENABLE_NLS && !defined(__LCLINT__) # include -# define _(Text) gettext (Text) +# define _(Text) dgettext (PACKAGE, Text) #else -# undef bindtextdomain -# define bindtextdomain(Domain, Directory) /* empty */ -# undef textdomain -# define textdomain(Domain) /* empty */ # define _(Text) Text -# undef dgettext -# define dgettext(DomainName, Text) Text #endif #define N_(Text) Text /* ============== from misc/miscfn.h */ -#if !defined(USE_GNU_GLOB) || defined(__LCLINT__) -#if HAVE_FNMATCH_H -/*@-noparams@*/ -#include -/*@=noparams@*/ -#endif - -#if HAVE_GLOB_H || defined(__LCLINT__) -/*@-noparams@*/ -#include -/*@=noparams@*/ -#endif -#else -/*@-noparams@*/ -#include "misc/glob.h" #include "misc/fnmatch.h" -/*@=noparams@*/ -#endif - -#if defined(__LCLINT__) -/*@-declundef -incondefs @*/ /* LCL: missing annotation */ -#if 0 -typedef /*@concrete@*/ struct - { - size_t gl_pathc; - char **gl_pathv; - size_t gl_offs; - int gl_flags; - - void (*gl_closedir) (void *); -#ifdef _GNU_SOURCE - struct dirent *(*gl_readdir) (void *); -#else - void *(*gl_readdir) (void *); -#endif - ptr_t (*gl_opendir) (const char *); -#ifdef _GNU_SOURCE - int (*gl_lstat) (const char *restrict, struct stat *restrict); - int (*gl_stat) (const char *restrict, struct stat *restrict); -#else - int (*gl_lstat) (const char *restrict, void *restrict); - int (*gl_stat) (const char *restrict, void *restrict); -#endif - } glob_t; -#endif - -#if 0 -/*@-constuse@*/ -/*@constant int GLOB_ERR@*/ -/*@constant int GLOB_MARK@*/ -/*@constant int GLOB_NOSORT@*/ -/*@constant int GLOB_DOOFFS@*/ -/*@constant int GLOB_NOCHECK@*/ -/*@constant int GLOB_APPEND@*/ -/*@constant int GLOB_NOESCAPE@*/ -/*@constant int GLOB_PERIOD@*/ - -#ifdef _GNU_SOURCE -/*@constant int GLOB_MAGCHAR@*/ -/*@constant int GLOB_ALTDIRFUNC@*/ -/*@constant int GLOB_BRACE@*/ -/*@constant int GLOB_NOMAGIC@*/ -/*@constant int GLOB_TILDE@*/ -/*@constant int GLOB_ONLYDIR@*/ -/*@constant int GLOB_TILDE_CHECK@*/ -#endif - -/*@constant int GLOB_FLAGS@*/ - -/*@constant int GLOB_NOSPACE@*/ -/*@constant int GLOB_ABORTED@*/ -/*@constant int GLOB_NOMATCH@*/ -/*@constant int GLOB_NOSYS@*/ -#ifdef _GNU_SOURCE -/*@constant int GLOB_ABEND@*/ -#endif -/*@=constuse@*/ -#endif - -/*@-type@*/ /* XXX glob64_t */ -extern int glob (const char *__pattern, int __flags, - int (*__errfunc) (const char *, int), - /*@out@*/ glob_t *__pglob) - /*@globals errno, fileSystem @*/ - /*@modifies *__pglob, errno, fileSystem @*/; - /* XXX only annotation is a white lie */ -extern void globfree (/*@only@*/ glob_t *__pglob) - /*@modifies *__pglob @*/; -/*@=type@*/ -#ifdef _GNU_SOURCE -extern int glob_pattern_p (const char *__pattern, int __quote) - /*@*/; -#endif - -#if 0 -/*@-constuse@*/ -/*@constant int FNM_PATHNAME@*/ -/*@constant int FNM_NOESCAPE@*/ -/*@constant int FNM_PERIOD@*/ - -#ifdef _GNU_SOURCE -/*@constant int FNM_FILE_NAME@*/ /* GNU extension */ -/*@constant int FNM_LEADING_DIR@*/ /* GNU extension */ -/*@constant int FNM_CASEFOLD@*/ /* GNU extension */ -/*@constant int FNM_EXTMATCH@*/ /* GNU extension */ -#endif - -/*@constant int FNM_NOMATCH@*/ - -#ifdef _XOPEN_SOURCE -/*@constant int FNM_NOSYS@*/ /* X/Open */ -#endif -/*@=constuse@*/ -#endif - -extern int fnmatch (const char *__pattern, const char *__name, int __flags) - /*@*/; -/*@=declundef =incondefs @*/ -#endif - -#if ! HAVE_S_IFSOCK -#define S_IFSOCK (0xc000) -#endif - -#if ! HAVE_S_ISLNK -#define S_ISLNK(mode) ((mode & 0xf000) == S_IFLNK) -#endif - -#if ! HAVE_S_ISSOCK -#define S_ISSOCK(mode) ((mode & 0xf000) == S_IFSOCK) -#endif - -#if NEED_STRINGS_H -#include -#endif - -#if NEED_MYREALLOC -#define realloc(ptr,size) myrealloc(ptr,size) -extern void *myrealloc(void *, size_t); -#endif - -#if ! HAVE_SETENV -extern int setenv(const char *name, const char *value, int replace); -extern void unsetenv(const char *name); -#endif - -#if HAVE_SYS_SOCKET_H -#include -#include -#endif -#if HAVE_POLL_H -#include -#else -#if HAVE_SYS_SELECT_H && !defined(__LCLINT__) -#include -#endif -#endif - -/* Solaris <= 2.6 limits getpass return to only 8 chars */ -#if HAVE_GETPASSPHRASE -#define getpass getpassphrase -#endif - -#if ! HAVE_LCHOWN -#define lchown chown -#endif - -#if HAVE_GETMNTINFO || HAVE_GETMNTINFO_R || HAVE_MNTCTL -# define GETMNTENT_ONE 0 -# define GETMNTENT_TWO 0 -# if HAVE_SYS_MNTCTL_H -# include -# endif -# if HAVE_SYS_VMOUNT_H -# include -# endif -# if HAVE_SYS_MOUNT_H -# include -# endif -#elif HAVE_MNTENT_H || !(HAVE_GETMNTENT) || HAVE_STRUCT_MNTTAB -# if HAVE_MNTENT_H -# include -# include -# define our_mntent struct mntent -# define our_mntdir mnt_dir -# elif HAVE_STRUCT_MNTTAB -# include -# include - struct our_mntent { - char * our_mntdir; - }; - struct our_mntent *getmntent(FILE *filep); -# define our_mntent struct our_mntent -# else -# include - struct our_mntent { - char * our_mntdir; - }; - struct our_mntent *getmntent(FILE *filep); -# define our_mntent struct our_mntent -# endif -# define GETMNTENT_ONE 1 -# define GETMNTENT_TWO 0 -#elif HAVE_SYS_MNTTAB_H -# include -# include -# define GETMNTENT_ONE 0 -# define GETMNTENT_TWO 1 -# define our_mntent struct mnttab -# define our_mntdir mnt_mountp -#else /* if !HAVE_MNTCTL */ -# error Neither mntent.h, mnttab.h, or mntctl() exists. I cannot build on this system. -#endif - -#ifndef MOUNTED -#define MOUNTED "/etc/mnttab" -#endif - -#if defined(__LCLINT__) -#define FILE_RCSID(id) -#else -#define FILE_RCSID(id) \ -static inline const char *rcsid(const char *p) { \ - return rcsid(p = id); \ -} -#endif +#include #endif /* H_SYSTEM */