runit/chpst: "change process state" utility
[oweals/busybox.git] / include / libbb.h
index eee7d7dfac90f7cd814a0d9b2b053e64345eb0e6..222b4acec2fe2f9435e945ad6f8ff2cbaa7b82dc 100644 (file)
@@ -2,11 +2,10 @@
 /*
  * Busybox main internal header file
  *
- * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
- *
  * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
  * Permission has been granted to redistribute this code under the GPL.
- *
+ * 
+ * Licensed under the GPL version 2, see the file LICENSE in this tarball.
  */
 #ifndef        __LIBBUSYBOX_H__
 #define        __LIBBUSYBOX_H__    1
@@ -47,6 +46,8 @@
 
 #ifdef CONFIG_LOCALE_SUPPORT
 #include <locale.h>
+#else
+#define setlocale(x,y)
 #endif
 
 #include "pwd_.h"
@@ -247,7 +248,9 @@ extern char *safe_strncpy(char *dst, const char *src, size_t size);
 extern int safe_strtoi(char *arg, int* value);
 extern int safe_strtod(char *arg, double* value);
 extern int safe_strtol(char *arg, long* value);
+extern int safe_strtoll(char *arg, long long* value);
 extern int safe_strtoul(char *arg, unsigned long* value);
+extern int safe_strtoull(char *arg, unsigned long long* value);
 
 struct suffix_mult {
        const char *suffix;
@@ -336,7 +339,7 @@ char *last_char_is(const char *s, int c);
 
 char *fgets_str(FILE *file, const char *terminating_string);
 
-extern int uncompress(int fd_in, int fd_out);
+extern USE_DESKTOP(long long) int uncompress(int fd_in, int fd_out);
 extern int inflate(int in, int out);
 
 extern struct hostent *xgethostbyname(const char *name);
@@ -350,12 +353,12 @@ extern void bb_lookup_host(struct sockaddr_in *s_in, const char *host);
 // This is declared here rather than #including <libgen.h> in order to avoid
 // confusing the two versions of basename.  See the dirname/basename man page
 // for details.
-char *dirname (char *path);
+char *dirname(char *path);
 
-int bb_make_directory (char *path, long mode, int flags);
+int bb_make_directory(char *path, long mode, int flags);
 
-int get_signum(char *name);
-char *get_signame(int number);
+int get_signum(const char *name);
+const char *get_signame(int number);
 
 char *bb_simplify_path(const char *path);
 
@@ -369,30 +372,30 @@ enum {    /* DO NOT CHANGE THESE VALUES!  cp.c depends on them. */
 
 extern const char *bb_applet_name;
 
-extern const char * const bb_msg_full_version;
-extern const char * const bb_msg_memory_exhausted;
-extern const char * const bb_msg_invalid_date;
-extern const char * const bb_msg_io_error;
-extern const char * const bb_msg_read_error;
-extern const char * const bb_msg_write_error;
-extern const char * const bb_msg_name_longer_than_foo;
-extern const char * const bb_msg_unknown;
-extern const char * const bb_msg_can_not_create_raw_socket;
-extern const char * const bb_msg_perm_denied_are_you_root;
-extern const char * const bb_msg_requires_arg;
-extern const char * const bb_msg_invalid_arg;
-extern const char * const bb_msg_standard_input;
-extern const char * const bb_msg_standard_output;
-
-extern const char * const bb_path_nologin_file;
-extern const char * const bb_path_passwd_file;
-extern const char * const bb_path_shadow_file;
-extern const char * const bb_path_gshadow_file;
-extern const char * const bb_path_group_file;
-extern const char * const bb_path_securetty_file;
-extern const char * const bb_path_motd_file;
-extern const char * const bb_path_wtmp_file;
-extern const char * const bb_dev_null;
+extern const char bb_msg_full_version[];
+extern const char bb_msg_memory_exhausted[];
+extern const char bb_msg_invalid_date[];
+extern const char bb_msg_io_error[];
+extern const char bb_msg_read_error[];
+extern const char bb_msg_write_error[];
+extern const char bb_msg_name_longer_than_foo[];
+extern const char bb_msg_unknown[];
+extern const char bb_msg_can_not_create_raw_socket[];
+extern const char bb_msg_perm_denied_are_you_root[];
+extern const char bb_msg_requires_arg[];
+extern const char bb_msg_invalid_arg[];
+extern const char bb_msg_standard_input[];
+extern const char bb_msg_standard_output[];
+
+extern const char bb_path_nologin_file[];
+extern const char bb_path_passwd_file[];
+extern const char bb_path_shadow_file[];
+extern const char bb_path_gshadow_file[];
+extern const char bb_path_group_file[];
+extern const char bb_path_securetty_file[];
+extern const char bb_path_motd_file[];
+extern const char bb_path_wtmp_file[];
+extern const char bb_dev_null[];
 
 #ifndef BUFSIZ
 #define BUFSIZ 4096
@@ -407,14 +410,14 @@ extern char bb_common_bufsiz1[BUFSIZ+1];
  */
 #define LIBBB_DEFAULT_LOGIN_SHELL      "-/bin/sh"
 
-extern const char * const bb_default_login_shell;
+extern const char bb_default_login_shell[];
 /* "/bin/sh" */
 #define DEFAULT_SHELL     (bb_default_login_shell+1)
 /* "sh" */
 #define DEFAULT_SHELL_SHORT_NAME     (bb_default_login_shell+6)
 
 
-extern char bb_path_mtab_file[];
+extern const char bb_path_mtab_file[];
 
 extern int bb_default_error_retval;
 
@@ -439,6 +442,7 @@ extern int bb_default_error_retval;
 #endif
 # define VC_FORMAT "/dev/vc/%d"
 # define LOOP_FORMAT "/dev/loop/%d"
+# define LOOP_NAME "/dev/loop/"
 # define FB_0 "/dev/fb/0"
 #else
 # define CURRENT_VC "/dev/tty0"
@@ -458,6 +462,7 @@ extern int bb_default_error_retval;
 #endif
 # define VC_FORMAT "/dev/tty%d"
 # define LOOP_FORMAT "/dev/loop%d"
+# define LOOP_NAME "/dev/loop"
 # define FB_0 "/dev/fb0"
 #endif
 
@@ -483,12 +488,13 @@ extern void renew_current_security_context(void);
 extern void set_current_security_context(security_context_t sid);
 #endif
 extern int run_parts(char **args, const unsigned char test_mode, char **env);
-extern int restricted_shell ( const char *shell );
-extern void setup_environment ( const char *shell, int loginshell, int changeenv, const struct passwd *pw );
-extern int correct_password ( const struct passwd *pw );
+extern int restricted_shell(const char *shell);
+extern void setup_environment(const char *shell, int loginshell, int changeenv, const struct passwd *pw);
+extern int correct_password(const struct passwd *pw);
 extern char *pw_encrypt(const char *clear, const char *salt);
 extern int obscure(const char *old, const char *newval, const struct passwd *pwdp);
 
+extern void xsetenv(const char *key, const char *value);
 extern int xopen(const char *pathname, int flags);
 extern int xopen3(const char *pathname, int flags, int mode);
 extern void xread(int fd, void *buf, size_t count);