aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h52
1 files changed, 30 insertions, 22 deletions
diff --git a/include/libbb.h b/include/libbb.h
index ddf965fbf..5b2977fce 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -19,7 +19,9 @@
19#include <errno.h> 19#include <errno.h>
20#include <fcntl.h> 20#include <fcntl.h>
21#include <inttypes.h> 21#include <inttypes.h>
22#include <malloc.h>
22#include <netdb.h> 23#include <netdb.h>
24#include <setjmp.h>
23#include <signal.h> 25#include <signal.h>
24#include <stdio.h> 26#include <stdio.h>
25#include <stdlib.h> 27#include <stdlib.h>
@@ -27,18 +29,26 @@
27#include <string.h> 29#include <string.h>
28#include <strings.h> 30#include <strings.h>
29#include <sys/ioctl.h> 31#include <sys/ioctl.h>
32#include <sys/mman.h>
30#include <sys/socket.h> 33#include <sys/socket.h>
31#include <sys/stat.h> 34#include <sys/stat.h>
35#include <sys/statfs.h>
32#include <sys/time.h> 36#include <sys/time.h>
33#include <sys/types.h> 37#include <sys/types.h>
34#include <sys/wait.h> 38#include <sys/wait.h>
35#include <termios.h> 39#include <termios.h>
40#include <time.h>
36#include <unistd.h> 41#include <unistd.h>
42#include <utime.h>
37 43
38#ifdef CONFIG_SELINUX 44#ifdef CONFIG_SELINUX
39#include <selinux/selinux.h> 45#include <selinux/selinux.h>
40#endif 46#endif
41 47
48#ifdef CONFIG_LOCALE_SUPPORT
49#include <locale.h>
50#endif
51
42#include "pwd_.h" 52#include "pwd_.h"
43#include "grp_.h" 53#include "grp_.h"
44#include "shadow_.h" 54#include "shadow_.h"
@@ -127,8 +137,8 @@ extern int bb_test(int argc, char** argv);
127 137
128extern const char *bb_mode_string(int mode); 138extern const char *bb_mode_string(int mode);
129extern int is_directory(const char *name, int followLinks, struct stat *statBuf); 139extern int is_directory(const char *name, int followLinks, struct stat *statBuf);
130extern DIR *bb_opendir(const char *path); 140extern DIR *warn_opendir(const char *path);
131extern DIR *bb_xopendir(const char *path); 141extern DIR *xopendir(const char *path);
132 142
133extern int remove_file(const char *path, int flags); 143extern int remove_file(const char *path, int flags);
134extern int copy_file(const char *source, const char *dest, int flags); 144extern int copy_file(const char *source, const char *dest, int flags);
@@ -161,26 +171,24 @@ extern char *bb_get_chomped_line_from_file(FILE *file);
161extern char *bb_get_chunk_from_file(FILE *file, int *end); 171extern char *bb_get_chunk_from_file(FILE *file, int *end);
162extern int bb_copyfd_size(int fd1, int fd2, const off_t size); 172extern int bb_copyfd_size(int fd1, int fd2, const off_t size);
163extern int bb_copyfd_eof(int fd1, int fd2); 173extern int bb_copyfd_eof(int fd1, int fd2);
164extern void bb_xprint_and_close_file(FILE *file);
165extern int bb_xprint_file_by_name(const char *filename);
166extern char bb_process_escape_sequence(const char **ptr); 174extern char bb_process_escape_sequence(const char **ptr);
167extern char *bb_get_last_path_component(char *path); 175extern char *bb_get_last_path_component(char *path);
168extern FILE *bb_wfopen(const char *path, const char *mode); 176extern FILE *bb_wfopen(const char *path, const char *mode);
169extern FILE *bb_wfopen_input(const char *filename); 177extern FILE *bb_wfopen_input(const char *filename);
170extern FILE *bb_xfopen(const char *path, const char *mode); 178extern FILE *xfopen(const char *path, const char *mode);
171 179
172extern int bb_fclose_nonstdin(FILE *f); 180extern int bb_fclose_nonstdin(FILE *f);
173extern void bb_fflush_stdout_and_exit(int retval) ATTRIBUTE_NORETURN; 181extern void bb_fflush_stdout_and_exit(int retval) ATTRIBUTE_NORETURN;
174 182
175extern void xstat(const char *filename, struct stat *buf); 183extern void xstat(const char *filename, struct stat *buf);
176extern int bb_xsocket(int domain, int type, int protocol); 184extern int xsocket(int domain, int type, int protocol);
177extern pid_t bb_spawn(char **argv); 185extern pid_t spawn(char **argv);
178extern pid_t bb_xspawn(char **argv); 186extern pid_t xspawn(char **argv);
179extern int wait4pid(int pid); 187extern int wait4pid(int pid);
180extern void bb_xdaemon(int nochdir, int noclose); 188extern void xdaemon(int nochdir, int noclose);
181extern void bb_xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen); 189extern void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);
182extern void bb_xlisten(int s, int backlog); 190extern void xlisten(int s, int backlog);
183extern void bb_xchdir(const char *path); 191extern void xchdir(const char *path);
184extern void utoa_to_buf(unsigned n, char *buf, unsigned buflen); 192extern void utoa_to_buf(unsigned n, char *buf, unsigned buflen);
185extern char *utoa(unsigned n); 193extern char *utoa(unsigned n);
186extern void itoa_to_buf(int n, char *buf, unsigned buflen); 194extern void itoa_to_buf(int n, char *buf, unsigned buflen);
@@ -204,9 +212,9 @@ extern int bb_printf(const char * __restrict format, ...)
204 __attribute__ ((format (printf, 1, 2))); 212 __attribute__ ((format (printf, 1, 2)));
205 213
206//#warning rename to xferror_filename? 214//#warning rename to xferror_filename?
207extern void bb_xferror(FILE *fp, const char *fn); 215extern void xferror(FILE *fp, const char *fn);
208extern void bb_xferror_stdout(void); 216extern void xferror_stdout(void);
209extern void bb_xfflush_stdout(void); 217extern void xfflush_stdout(void);
210 218
211extern void bb_warn_ignoring_args(int n); 219extern void bb_warn_ignoring_args(int n);
212 220
@@ -224,8 +232,8 @@ extern void *xrealloc(void *old, size_t size);
224extern void *xzalloc(size_t size); 232extern void *xzalloc(size_t size);
225extern void *xcalloc(size_t nmemb, size_t size); 233extern void *xcalloc(size_t nmemb, size_t size);
226 234
227extern char *bb_xstrdup (const char *s); 235extern char *xstrdup (const char *s);
228extern char *bb_xstrndup (const char *s, int n); 236extern char *xstrndup (const char *s, int n);
229extern char *safe_strncpy(char *dst, const char *src, size_t size); 237extern char *safe_strncpy(char *dst, const char *src, size_t size);
230extern int safe_strtoi(char *arg, int* value); 238extern int safe_strtoi(char *arg, int* value);
231extern int safe_strtod(char *arg, double* value); 239extern int safe_strtod(char *arg, double* value);
@@ -321,7 +329,6 @@ char *concat_path_file(const char *path, const char *filename);
321char *concat_subpath_file(const char *path, const char *filename); 329char *concat_subpath_file(const char *path, const char *filename);
322char *last_char_is(const char *s, int c); 330char *last_char_is(const char *s, int c);
323 331
324int read_package_field(const char *package_buffer, char **field_name, char **field_value);
325//#warning yuk! 332//#warning yuk!
326char *fgets_str(FILE *file, const char *terminating_string); 333char *fgets_str(FILE *file, const char *terminating_string);
327 334
@@ -458,7 +465,8 @@ int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name);
458void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name); 465void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name);
459void reset_ino_dev_hashtable(void); 466void reset_ino_dev_hashtable(void);
460 467
461char *bb_xasprintf(const char *format, ...) __attribute__ ((format (printf, 1, 2))); 468char *xasprintf(const char *format, ...) __attribute__ ((format (printf, 1, 2)));
469void xprint_and_close_file(FILE *file);
462 470
463#define FAIL_DELAY 3 471#define FAIL_DELAY 3
464extern void bb_do_delay(int seconds); 472extern void bb_do_delay(int seconds);
@@ -476,8 +484,8 @@ extern int correct_password ( const struct passwd *pw );
476extern char *pw_encrypt(const char *clear, const char *salt); 484extern char *pw_encrypt(const char *clear, const char *salt);
477extern int obscure(const char *old, const char *newval, const struct passwd *pwdp); 485extern int obscure(const char *old, const char *newval, const struct passwd *pwdp);
478 486
479extern int bb_xopen(const char *pathname, int flags); 487extern int xopen(const char *pathname, int flags);
480extern int bb_xopen3(const char *pathname, int flags, int mode); 488extern int xopen3(const char *pathname, int flags, int mode);
481extern void xread(int fd, void *buf, size_t count); 489extern void xread(int fd, void *buf, size_t count);
482extern unsigned char xread_char(int fd); 490extern unsigned char xread_char(int fd);
483extern void xlseek(int fd, off_t offset, int whence); 491extern void xlseek(int fd, off_t offset, int whence);
@@ -550,7 +558,7 @@ void md5_begin(md5_ctx_t *ctx);
550void md5_hash(const void *data, size_t length, md5_ctx_t *ctx); 558void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
551void *md5_end(void *resbuf, md5_ctx_t *ctx); 559void *md5_end(void *resbuf, md5_ctx_t *ctx);
552 560
553extern uint32_t *bb_crc32_filltable (int endian); 561extern uint32_t *crc32_filltable (int endian);
554 562
555#ifndef RB_POWER_OFF 563#ifndef RB_POWER_OFF
556/* Stop system and switch power off if possible. */ 564/* Stop system and switch power off if possible. */