00001 #ifndef _H_BUILDIO_ 00002 #define _H_BUILDIO_ 00003 00011 #include "psm.h" 00012 #include "rpmbuild.h" 00013 00016 typedef /*@abstract@*/ struct cpioSourceArchive_s { 00017 unsigned int cpioArchiveSize; 00018 FD_t cpioFdIn; 00019 /*@dependent@*/ TFI_t cpioList; 00020 /*@only@*/ struct rpmlead * lead; /* XXX FIXME: exorcize lead/arch/os */ 00021 } * CSA_t; 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00036 /*@unused@*/ int readRPM(/*@null@*/ const char * fileName, 00037 /*@out@*/ Spec * specp, 00038 /*@out@*/ struct rpmlead * lead, 00039 /*@out@*/ Header * sigs, 00040 CSA_t csa) 00041 /*@globals rpmGlobalMacroContext, 00042 fileSystem, internalState @*/ 00043 /*@modifies *specp, *lead, *sigs, csa, csa->cpioFdIn, 00044 rpmGlobalMacroContext, fileSystem, internalState @*/; 00045 00060 int writeRPM(Header * hdrp, 00061 const char * fileName, 00062 int type, 00063 CSA_t csa, 00064 /*@null@*/ char * passPhrase, 00065 /*@out@*/ const char ** cookie) 00066 /*@globals rpmGlobalMacroContext, 00067 fileSystem, internalState @*/ 00068 /*@modifies *hdrp, *cookie, csa, csa->cpioArchiveSize, 00069 rpmGlobalMacroContext, fileSystem, internalState @*/; 00070 00071 #ifdef __cplusplus 00072 } 00073 #endif 00074 00075 #endif /* _H_BUILDIO_ */