JunkBox_Lib  1.10.2
gz_tool.h
Go to the documentation of this file.
1 #ifndef __JBXL_GZPACKING_TOOL_H_
2 #define __JBXL_GZPACKING_TOOL_H_
3 
10 //#include "tools.h"
11 //#include "buffer.h"
12 #include "xtools.h"
13 
14 #include <zlib.h>
15 
16 /*
17 #ifdef WIN32
18  #ifdef _DEBUG
19  #pragma comment(lib, "zlibd.lib")
20  #else
21  #pragma comment(lib, "zlib.lib")
22  #endif
23 #endif
24 */
25 
26 #define GZIP_DEFLATE_ID1 0x78
27 #define GZIP_DEFLATE_ID2 0xda
28 
29 
30 // gzipデータ
32 void deflate2gzip(Buffer* def);
33 
34 
35 // FILE I/O
36 int gz_decode_fp(FILE* infp, FILE* otfp);
37 
38 int gz_encode_gzfp(FILE* fp, gzFile* gf);
39 int gz_decode_gzfp(gzFile* gf, FILE* fp);
40 
41 int gz_encode_file(const char* ffn, const char* tfn);
42 int gz_decode_file(const char* ffn, const char* tfn);
43 int gz_decode_file_replace(const char* fn, const char* dir);
44 
45 int is_gz_data(Buffer enc);
46 
47 
48 
50 // tar
51 struct _header_ustar {
52  char name[100];
53  char mode[8];
54  char uid[8];
55  char gid[8];
56  char size[12];
57  char mtime[12];
58  char checksum[8];
59  char typeflag[1];
60  char linkname[100];
61  char magic[6];
62  char version[2];
63  char uname[32];
64  char gname[32];
65  char devmajor[8];
66  char devminor[8];
67  char prefix[155];
68  char pad[12];
69 };
70 
71 
72 typedef struct _header_ustar Tar_Header;
73 
74 
75 void extract_tTar(Buffer tardata, Buffer prefix, mode_t mode);
76 void extract_tTar_file(const char* fn);
77 
78 
79 #endif
int gz_encode_gzfp(FILE *fp, gzFile *gf)
GZIPのファイルポインタを用いた ファイルの圧縮
Definition: gz_tool.c:197
Buffer gz_decode_data(Buffer enc)
圧縮データ encを解凍する.
Definition: gz_tool.c:32
void deflate2gzip(Buffer *def)
deflateデータを gzipのデータ構造に変換する.
Definition: gz_tool.c:99
void extract_tTar_file(const char *fn)
Definition: gz_tool.c:459
int gz_decode_file_replace(const char *fn, const char *dir)
ファイル名による ファイルの解凍.ファイルを置き換える.
Definition: gz_tool.c:358
int gz_decode_file(const char *ffn, const char *tfn)
ファイル名による ファイルの解凍
Definition: gz_tool.c:296
int gz_decode_gzfp(gzFile *gf, FILE *fp)
GZIPのファイルポインタを用いた ファイルの解凍
Definition: gz_tool.c:226
int is_gz_data(Buffer enc)
Definition: gz_tool.c:379
int gz_encode_file(const char *ffn, const char *tfn)
ファイル名による ファイルの圧縮
Definition: gz_tool.c:255
int gz_decode_fp(FILE *infp, FILE *otfp)
ファイルポインタによるファイルの解凍
Definition: gz_tool.c:133
void extract_tTar(Buffer tardata, Buffer prefix, mode_t mode)
Definition: gz_tool.c:393
Definition: buffer.h:35
char magic[6]
Definition: gz_tool.h:61
char mtime[12]
Definition: gz_tool.h:57
char typeflag[1]
Definition: gz_tool.h:59
char devminor[8]
Definition: gz_tool.h:66
char mode[8]
Definition: gz_tool.h:53
char uname[32]
Definition: gz_tool.h:63
char size[12]
Definition: gz_tool.h:56
char gname[32]
Definition: gz_tool.h:64
char checksum[8]
Definition: gz_tool.h:58
char version[2]
Definition: gz_tool.h:62
char devmajor[8]
Definition: gz_tool.h:65
char linkname[100]
Definition: gz_tool.h:60
char uid[8]
Definition: gz_tool.h:54
char prefix[155]
Definition: gz_tool.h:67
char pad[12]
Definition: gz_tool.h:68
char gid[8]
Definition: gz_tool.h:55
char name[100]
Definition: gz_tool.h:52
汎用拡張ツールヘッダ