当前位置--> 首 页 --> 文 章 -->Linux Develop
|
|
※阅读文章※ |
Linux程式设计-16.TarBall作者:不祥 [文章出自: www.fanqiang.com] 我写了一个targz的函数库,专门处理档案安装的事宜,这个函数库在我写的X Corona Package Installer中使用到。它与zlib一起使用。 targz.h targz.c -------------------------------------------------------------------------------- typedef struct { char name[100]; char mode[8]; char uid[8]; char gid[8]; char size[12]; char mtime[12]; char chksum[8]; char typeflag; char linkname[100]; char magic[6]; char version[2]; char uname[32]; char gname[32]; char devmajor[8]; char devminor[8]; char prefix[155]; } TarEntry; GNU Tar档案格式 -------------------------------------------------------------------------------- typedef struct { char * Package; char * FileName; char * path; gzFile fp; int size; int totalsize; int expanding; int mode; int result; TarEntry ** NAME; } TarBall; -------------------------------------------------------------------------------- TarBall * tgzOpen(char * Filename,char * mode); 开启一个tarball档,档名为Filename。 mode "r":为读取模式。 "w":为写入模式。 -------------------------------------------------------------------------------- int tgzLookup(TarBall * tgz); 撷取tarball内档案资讯。 -------------------------------------------------------------------------------- int tgzClose(TarBall * tgz); 关闭tarball档。 -------------------------------------------------------------------------------- int tgzExpand(TarBall * tgz); 解开档案。 -------------------------------------------------------------------------------- int tgzSkip(TarBall * tgz); 跳过下一个档案,不安装。 -------------------------------------------------------------------------------- int tgzAppend(TarBall * tgz,char *FileName); 新增档案到tarball中,必须要是Write Mode。 文章加入时间: 2004-11-17 14:56:34 责任编辑: w9 (2382 人次查阅) |