rpm  5.2.1
rpmio/cpio.h
Go to the documentation of this file.
00001 #ifndef H_CPIO
00002 #define H_CPIO
00003 
00011 typedef struct cpioCrcPhysicalHeader_s * cpioHeader;
00012 
00013 /* Cpio file constants */
00014 #define CPIO_NEWC_MAGIC "070701"
00015 #define CPIO_CRC_MAGIC  "070702"
00016 #define CPIO_TRAILER    "TRAILER!!!"
00017 
00018 #define PHYS_HDR_SIZE   110             /* Don't depend on sizeof(struct) */
00019 
00023 struct cpioCrcPhysicalHeader_s {
00024     char magic[6];
00025     char inode[8];
00026     char mode[8];
00027     char uid[8];
00028     char gid[8];
00029     char nlink[8];
00030     char mtime[8];
00031     char filesize[8];
00032     char devMajor[8];
00033     char devMinor[8];
00034     char rdevMajor[8];
00035     char rdevMinor[8];
00036     char namesize[8];
00037     char checksum[8];                   /* ignored !! */
00038 };
00039 
00040 /*@unchecked@*/
00041 extern int _cpio_debug;
00042 
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046 
00053 int cpioHeaderRead(void * _iosm, struct stat * st)
00054         /*@globals fileSystem, internalState @*/
00055         /*@modifies _iosm, *st, fileSystem, internalState @*/;
00056 
00063 int cpioHeaderWrite(void * _iosm, struct stat * st)
00064         /*@globals fileSystem, internalState @*/
00065         /*@modifies _iosm, fileSystem, internalState @*/;
00066 
00072 int cpioTrailerWrite(void * _iosm)
00073         /*@globals fileSystem, internalState @*/
00074         /*@modifies _iosm, fileSystem, internalState @*/;
00075 
00076 #ifdef __cplusplus
00077 }
00078 #endif
00079 
00080 #endif  /* H_CPIO */