gzip: bbunzip integration fixes
[oweals/busybox.git] / include / libbb.h
index 9aa06069138b72ebc1ef6939e989cf228642d86b..759eb8d15602cdf9a76a146b6a8c931c3b1e75f7 100644 (file)
@@ -41,6 +41,7 @@
 
 #if ENABLE_SELINUX
 #include <selinux/selinux.h>
+#include <selinux/context.h>
 #endif
 
 #if ENABLE_LOCALE_SUPPORT
@@ -514,9 +515,14 @@ int bb_test(int argc, char** argv);
 #if ENABLE_ROUTE
 void bb_displayroutes(int noresolve, int netstatfmt);
 #endif
+int chown_main(int argc, char **argv);
 #if ENABLE_GUNZIP
 int gunzip_main(int argc, char **argv);
 #endif
+int bbunpack(char **argv,
+        char* (*make_new_name)(char *filename),
+        USE_DESKTOP(long long) int (*unpacker)(void)
+);
 
 
 /* Networking */
@@ -597,6 +603,9 @@ extern void run_shell(const char *shell, int loginshell, const char *command, co
 #if ENABLE_SELINUX
 extern void renew_current_security_context(void);
 extern void set_current_security_context(security_context_t sid);
+extern context_t set_security_context_component(security_context_t cur_context,
+                                               char *user, char *role, char *type, char *range);
+extern void setfscreatecon_or_die(security_context_t scontext);
 #endif
 extern void selinux_or_die(void);
 extern int restricted_shell(const char *shell);
@@ -741,7 +750,7 @@ void *md5_end(void *resbuf, md5_ctx_t *ctx);
 uint32_t *crc32_filltable(int endian);
 
 
-enum { /* DO NOT CHANGE THESE VALUES!  cp.c depends on them. */
+enum { /* DO NOT CHANGE THESE VALUES!  cp.c, mv.c, install.c depend on them. */
        FILEUTILS_PRESERVE_STATUS = 1,
        FILEUTILS_DEREFERENCE = 2,
        FILEUTILS_RECUR = 4,
@@ -749,9 +758,13 @@ enum {     /* DO NOT CHANGE THESE VALUES!  cp.c depends on them. */
        FILEUTILS_INTERACTIVE = 0x10,
        FILEUTILS_MAKE_HARDLINK = 0x20,
        FILEUTILS_MAKE_SOFTLINK = 0x40,
+#if ENABLE_SELINUX
+       FILEUTILS_PRESERVE_SECURITY_CONTEXT = 0x80,
+       FILEUTILS_SET_SECURITY_CONTEXT = 0x100
+#endif
 };
-#define FILEUTILS_CP_OPTSTR "pdRfils"
 
+#define FILEUTILS_CP_OPTSTR "pdRfils" USE_SELINUX("c")
 extern const char *applet_name;
 extern const char BB_BANNER[];