beta-0.89.2
[luatex.git] / source / libs / zziplib / zziplib-0.13.62 / zzip / write.h
blob6db6b09eed2b87521d32897dbc7d55311eddd9c7
1 #ifndef _ZZIP_WRITE_H
2 #define _ZZIP_WRITE_H
4 #include <zzip/lib.h>
6 /* ........................................................................
7 * write support is not yet implemented
8 * zzip/write.c
9 */
10 #define ZZIP_NO_CREAT 1
12 ZZIP_DIR* zzip_dir_creat_ext_io(zzip_char_t* name, int o_mode,
13 zzip_strings_t* ext, zzip_plugin_io_t io);
14 ZZIP_DIR* zzip_dir_creat(zzip_char_t* name, int o_mode);
15 int zzip_file_mkdir(ZZIP_DIR* dir, zzip_char_t* name, int o_mode);
16 ZZIP_FILE* zzip_file_creat(ZZIP_DIR* dir, zzip_char_t* name, int o_mode);
17 zzip_ssize_t zzip_file_write(ZZIP_FILE* file,
18 const void* ptr, zzip_size_t len);
20 ZZIP_DIR* zzip_createdir(zzip_char_t* name, int o_mode);
21 zzip_ssize_t zzip_write(ZZIP_FILE* file, const void* ptr, zzip_size_t len);
22 zzip_size_t zzip_fwrite(const void* ptr, zzip_size_t len,
23 zzip_size_t multiply, ZZIP_FILE* file);
24 #ifndef zzip_savefile
25 #define zzip_savefile 0
26 #define zzip_savefile_is_null
27 #endif
29 #ifdef _ZZIP_NO_INLINE
30 #define zzip_mkdir(_name_,_mode_) \
31 zzip_file_mkdir((zzip_savefile),(_name_),(_mode_))
32 #define zzip_creat(_name_,_mode_) \
33 zzip_file_creat((zzip_savefile),(_name_),(_mode_))
34 #define zzip_sync() \
35 { zzip_closedir((zzip_savefile)); (zzip_savefile) = 0; }
36 #define zzip_start(_name_,_mode_,_ext_) \
37 { if ((zzip_savefile)) zzip_closedir((zzip_savefile));
38 zzip_savefile = zzip_dir_creat(_name_, _mode_,_ext_); }
40 #else
42 _zzip_inline static int zzip_mkdir(zzip_char_t* name, int o_mode)
43 { return zzip_file_mkdir(zzip_savefile, name, o_mode); }
44 _zzip_inline static ZZIP_FILE* zzip_creat(zzip_char_t* name, int o_mode)
45 { return zzip_file_creat(zzip_savefile, name, o_mode); }
47 #ifndef zzip_savefile_is_null
48 _zzip_inline static void zzip_sync(void)
49 { zzip_closedir(zzip_savefile); zzip_savefile = 0; }
50 _zzip_inline static void zzip_mkfifo(zzip_char_t* name, int o_mode)
51 { if ((zzip_savefile)) zzip_closedir (zzip_savefile);
52 zzip_savefile = zzip_createdir(_name_,_mode_); }
53 #else
54 _zzip_inline static void zzip_sync(void) {}
55 _zzip_inline static void zzip_mkfifo(zzip_char_t* name, int o_mode) {}
56 #endif
57 #endif /* _ZZIP_NO_INLINE */
58 #endif /* _ZZIP_WRITE_H */