1 #ifndef _H_RPMLEAD 2 #define _H_RPMLEAD 3 4 /** \ingroup lead 5 * \file lib/rpmlead.h 6 * Routines to read and write an rpm lead structure for a a package. 7 */ 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 #define RPMLEAD_BINARY 0 13 #define RPMLEAD_SOURCE 1 14 15 #define RPMLEAD_MAGIC0 0xed 16 #define RPMLEAD_MAGIC1 0xab 17 #define RPMLEAD_MAGIC2 0xee 18 #define RPMLEAD_MAGIC3 0xdb 19 20 #define RPMLEAD_SIZE 96 /*!< Don't rely on sizeof(struct) */ 21 22 /** \ingroup lead 23 * Write lead to file handle. 24 * @param fd file handle 25 * @param h package header 26 * @return RPMRC_OK on success, RPMRC_FAIL on error 27 */ 28 rpmRC rpmLeadWrite(FD_t fd, Header h); 29 30 /** \ingroup lead 31 * Read lead from file handle. 32 * @param fd file handle 33 * @retval emsg failure message on error (malloced) 34 * @return RPMRC_OK on success, RPMRC_FAIL/RPMRC_NOTFOUND on error 35 */ 36 rpmRC rpmLeadRead(FD_t fd, char **emsg); 37 38 #ifdef __cplusplus 39 } 40 #endif 41 42 #endif /* _H_RPMLEAD */ 43