diff options
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-src/zzip/write.h')
-rw-r--r-- | Build/source/libs/zziplib/zziplib-src/zzip/write.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Build/source/libs/zziplib/zziplib-src/zzip/write.h b/Build/source/libs/zziplib/zziplib-src/zzip/write.h new file mode 100644 index 00000000000..6db6b09eed2 --- /dev/null +++ b/Build/source/libs/zziplib/zziplib-src/zzip/write.h @@ -0,0 +1,58 @@ +#ifndef _ZZIP_WRITE_H +#define _ZZIP_WRITE_H + +#include <zzip/lib.h> + +/* ........................................................................ + * write support is not yet implemented + * zzip/write.c + */ +#define ZZIP_NO_CREAT 1 + +ZZIP_DIR* zzip_dir_creat_ext_io(zzip_char_t* name, int o_mode, + zzip_strings_t* ext, zzip_plugin_io_t io); +ZZIP_DIR* zzip_dir_creat(zzip_char_t* name, int o_mode); +int zzip_file_mkdir(ZZIP_DIR* dir, zzip_char_t* name, int o_mode); +ZZIP_FILE* zzip_file_creat(ZZIP_DIR* dir, zzip_char_t* name, int o_mode); +zzip_ssize_t zzip_file_write(ZZIP_FILE* file, + const void* ptr, zzip_size_t len); + +ZZIP_DIR* zzip_createdir(zzip_char_t* name, int o_mode); +zzip_ssize_t zzip_write(ZZIP_FILE* file, const void* ptr, zzip_size_t len); +zzip_size_t zzip_fwrite(const void* ptr, zzip_size_t len, + zzip_size_t multiply, ZZIP_FILE* file); +#ifndef zzip_savefile +#define zzip_savefile 0 +#define zzip_savefile_is_null +#endif + +#ifdef _ZZIP_NO_INLINE +#define zzip_mkdir(_name_,_mode_) \ + zzip_file_mkdir((zzip_savefile),(_name_),(_mode_)) +#define zzip_creat(_name_,_mode_) \ + zzip_file_creat((zzip_savefile),(_name_),(_mode_)) +#define zzip_sync() \ + { zzip_closedir((zzip_savefile)); (zzip_savefile) = 0; } +#define zzip_start(_name_,_mode_,_ext_) \ + { if ((zzip_savefile)) zzip_closedir((zzip_savefile)); + zzip_savefile = zzip_dir_creat(_name_, _mode_,_ext_); } + +#else + +_zzip_inline static int zzip_mkdir(zzip_char_t* name, int o_mode) +{ return zzip_file_mkdir(zzip_savefile, name, o_mode); } +_zzip_inline static ZZIP_FILE* zzip_creat(zzip_char_t* name, int o_mode) +{ return zzip_file_creat(zzip_savefile, name, o_mode); } + +#ifndef zzip_savefile_is_null +_zzip_inline static void zzip_sync(void) +{ zzip_closedir(zzip_savefile); zzip_savefile = 0; } +_zzip_inline static void zzip_mkfifo(zzip_char_t* name, int o_mode) +{ if ((zzip_savefile)) zzip_closedir (zzip_savefile); + zzip_savefile = zzip_createdir(_name_,_mode_); } +#else +_zzip_inline static void zzip_sync(void) {} +_zzip_inline static void zzip_mkfifo(zzip_char_t* name, int o_mode) {} +#endif +#endif /* _ZZIP_NO_INLINE */ +#endif /* _ZZIP_WRITE_H */ |