summaryrefslogtreecommitdiff
path: root/system.h
diff options
context:
space:
mode:
Diffstat (limited to 'system.h')
-rw-r--r--system.h54
1 files changed, 19 insertions, 35 deletions
diff --git a/system.h b/system.h
index f3b1bab32..570cef13a 100644
--- a/system.h
+++ b/system.h
@@ -1,5 +1,7 @@
/**
* \file system.h
+ *
+ * Some misc low-level API
*/
#ifndef H_SYSTEM
@@ -78,29 +80,8 @@ char * stpncpy(char * dest, const char * src, size_t n);
#endif
#endif
-#if WITH_SELINUX
-#include <selinux/selinux.h>
-#include <selinux/label.h>
-#include <selinux/avc.h>
-#else
-typedef char * security_context_t;
-
-#define freecon(_c)
-
-#define setfilecon(_fn, _c) (-1)
-#define lsetfilecon(_fn, _c) (-1)
-
-#define is_selinux_enabled() (0)
-
-#define matchpathcon_init(_fn) (-1)
-#define matchpathcon_fini() (0)
-#define matchpathcon(_fn, _fm, _c) (-1)
-
-#define selabel_lookup_raw(_hnd, _scon, _key,_type) (-1)
-
-#define selinux_file_context_path() (0)
-
-#define rpm_execcon(_v, _fn, _av, _envp) (0)
+#if defined(HAVE_FDATASYNC) && !HAVE_DECL_FDATASYNC
+extern int fdatasync(int fildes);
#endif
#include "rpmio/rpmutil.h"
@@ -111,20 +92,23 @@ typedef char * security_context_t;
#define xstrdup(_str) rstrdup((_str))
#define _free(_ptr) rfree((_ptr))
-/* Retrofit glibc __progname */
-#if defined __GLIBC__ && __GLIBC__ >= 2
-#if __GLIBC_MINOR__ >= 1
-#define __progname __assert_program_name
-#endif
-#define setprogname(pn)
+/* To extract program's name: use calls (reimplemented or shipped with system):
+ - void setprogname(const char *pn)
+ - const char *getprogname(void)
+
+ setprogname(*pn) must be the first call in main() in order to set the name
+ as soon as possible. */
+#if defined(HAVE_SETPROGNAME) /* BSD'ish systems */
+# include <stdlib.h> /* Make sure this header is included */
+# define xsetprogname(pn) setprogname(pn)
+# define xgetprogname(pn) getprogname(pn)
+#elif defined(HAVE___PROGNAME) /* glibc and others */
+# define xsetprogname(pn)
+ extern const char *__progname;
+# define xgetprogname(pn) __progname
#else
-#define __progname program_name
-#define setprogname(pn) \
- { if ((__progname = strrchr(pn, '/')) != NULL) __progname++; \
- else __progname = pn; \
- }
+# error "Did not find any sutable implementation of xsetprogname/xgetprogname"
#endif
-extern const char *__progname;
/* Take care of NLS matters. */
#if ENABLE_NLS