• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/opkg-lede/libbb/libbb.h

  1 /* vi: set sw=4 ts=4: */
  2 /*
  3  * Busybox main internal header file
  4  *
  5  * This program is free software; you can redistribute it and/or modify
  6  * it under the terms of the GNU General Public License as published by
  7  * the Free Software Foundation; either version 2 of the License, or
  8  * (at your option) any later version.
  9  *
 10  * This program is distributed in the hope that it will be useful,
 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 13  * General Public License for more details.
 14  *
 15  * You should have received a copy of the GNU General Public License
 16  * along with this program; if not, write to the Free Software
 17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 18  */
 19 
 20 #ifndef __LIBBB_H__
 21 #define __LIBBB_H__    1
 22 
 23 #include <stdio.h>
 24 #include <stdarg.h>
 25 #include <sys/stat.h>
 26 #include <sys/types.h>
 27 #include <stdlib.h>
 28 #include <netdb.h>
 29 
 30 #include "../libopkg/opkg_message.h"
 31 
 32 #ifndef FALSE
 33 #define FALSE   ((int) 0)
 34 #endif
 35 
 36 #ifndef TRUE
 37 #define TRUE    ((int) 1)
 38 #endif
 39 
 40 #define error_msg(fmt, args...) opkg_msg(ERROR, fmt"\n", ##args)
 41 #define perror_msg(fmt, args...) opkg_perror(ERROR, fmt, ##args)
 42 #define error_msg_and_die(fmt, args...) \
 43         do { \
 44                 error_msg(fmt, ##args); \
 45                 exit(EXIT_FAILURE); \
 46         } while (0)
 47 #define perror_msg_and_die(fmt, args...) \
 48         do { \
 49                 perror_msg(fmt, ##args); \
 50                 exit(EXIT_FAILURE); \
 51         } while (0)
 52 
 53 extern void archive_xread_all(int fd, char *buf, size_t count);
 54 
 55 const char *mode_string(int mode);
 56 const char *time_string(time_t timeVal);
 57 
 58 int copy_file(const char *source, const char *dest, int flags);
 59 int copy_file_chunk(FILE * src_file, FILE * dst_file,
 60                     unsigned long long chunksize);
 61 ssize_t safe_read(int fd, void *buf, size_t count);
 62 ssize_t full_read(int fd, char *buf, int len);
 63 
 64 extern int parse_mode(const char *s, mode_t * theMode);
 65 
 66 extern FILE *wfopen(const char *path, const char *mode);
 67 extern FILE *xfopen(const char *path, const char *mode);
 68 
 69 extern void *xmalloc(size_t size);
 70 extern void *xrealloc(void *old, size_t size);
 71 extern void *xcalloc(size_t nmemb, size_t size);
 72 extern char *xstrdup(const char *s);
 73 extern char *xstrndup(const char *s, int n);
 74 extern char *safe_strncpy(char *dst, const char *src, size_t size);
 75 
 76 char *xreadlink(const char *path);
 77 char *concat_path_file(const char *path, const char *filename);
 78 char *last_char_is(const char *s, int c);
 79 
 80 typedef struct file_headers_s {
 81         char *name;
 82         char *link_name;
 83         off_t size;
 84         uid_t uid;
 85         gid_t gid;
 86         mode_t mode;
 87         time_t mtime;
 88         dev_t device;
 89 } file_header_t;
 90 
 91 enum extract_functions_e {
 92         extract_verbose_list = 1,
 93         extract_list = 2,
 94         extract_one_to_buffer = 4,
 95         extract_to_stream = 8,
 96         extract_all_to_fs = 16,
 97         extract_preserve_date = 32,
 98         extract_data_tar_gz = 64,
 99         extract_control_tar_gz = 128,
100         extract_unzip_only = 256,
101         extract_unconditional = 512,
102         extract_create_leading_dirs = 1024,
103         extract_quiet = 2048,
104         extract_exclude_list = 4096
105 };
106 
107 char *deb_extract(const char *package_filename, FILE * out_stream,
108                   const int extract_function, const char *prefix,
109                   const char *filename, int *err);
110 
111 extern int unzip(FILE * l_in_file, FILE * l_out_file);
112 extern int gz_close(int gunzip_pid);
113 extern FILE *gz_open(FILE * compressed_file, int *pid);
114 
115 int make_directory(const char *path, long mode, int flags);
116 
117 enum {
118         FILEUTILS_PRESERVE_STATUS = 1,
119         FILEUTILS_PRESERVE_SYMLINKS = 2,
120         FILEUTILS_RECUR = 4,
121         FILEUTILS_FORCE = 8,
122 };
123 
124 #endif /* __LIBBB_H__ */
125 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt