105 lines
2.2 KiB
C
105 lines
2.2 KiB
C
#ifndef _RPMTYPES_H
|
|
#define _RPMTYPES_H
|
|
|
|
/** \ingroup rpmtypes
|
|
* \file lib/rpmtypes.h
|
|
*
|
|
* Typedefs for RPM abstract data types.
|
|
* @todo The grouping needs love to look sane...
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef const char * errmsg_t;
|
|
|
|
/** \ingroup rpmtypes
|
|
*
|
|
* RPM header and data retrieval types.
|
|
* @{
|
|
*/
|
|
typedef struct headerToken_s * Header;
|
|
typedef struct headerIterator_s * HeaderIterator;
|
|
|
|
typedef int32_t rpm_tag_t;
|
|
typedef uint32_t rpm_tagtype_t; /* unused */
|
|
typedef uint32_t rpm_count_t;
|
|
|
|
typedef void * rpm_data_t;
|
|
typedef const void * rpm_constdata_t;
|
|
|
|
typedef struct rpmtd_s * rpmtd;
|
|
|
|
typedef uint32_t rpm_color_t;
|
|
typedef uint32_t rpm_flag_t;
|
|
typedef int32_t rpm_tid_t;
|
|
/** @} */
|
|
|
|
/** \ingroup rpmtypes
|
|
*
|
|
* In-header hardcoded sizes for various POSIXy types
|
|
* @{
|
|
*/
|
|
typedef uint32_t rpm_off_t;
|
|
typedef uint64_t rpm_loff_t;
|
|
typedef uint32_t rpm_time_t;
|
|
typedef uint16_t rpm_mode_t;
|
|
typedef uint16_t rpm_rdev_t;
|
|
typedef uint32_t rpm_dev_t;
|
|
typedef uint32_t rpm_ino_t;
|
|
/** @} */
|
|
|
|
/** \ingroup rpmtypes
|
|
* The main types involved in transaction manipulation
|
|
* @{
|
|
*/
|
|
typedef struct rpmts_s * rpmts;
|
|
typedef struct rpmte_s * rpmte;
|
|
typedef struct rpmds_s * rpmds;
|
|
typedef struct rpmfi_s * rpmfi;
|
|
typedef struct rpmdb_s * rpmdb;
|
|
typedef struct rpmdbMatchIterator_s * rpmdbMatchIterator;
|
|
typedef struct rpmal_s * rpmal;
|
|
typedef void * rpmalKey;
|
|
typedef const void * fnpyKey;
|
|
typedef void * rpmCallbackData;
|
|
/** @} */
|
|
|
|
typedef struct rpmPubkey_s * rpmPubkey;
|
|
typedef struct rpmKeyring_s * rpmKeyring;
|
|
|
|
typedef struct rpmgi_s * rpmgi;
|
|
|
|
typedef struct rpmSpec_s * rpmSpec;
|
|
|
|
typedef struct rpmRelocation_s rpmRelocation;
|
|
|
|
|
|
/** \ingroup rpmtypes
|
|
* RPM IO file descriptor type
|
|
*/
|
|
typedef struct _FD_s * FD_t;
|
|
|
|
/** \ingroup rpmtypes
|
|
* Package read return codes.
|
|
*/
|
|
typedef enum rpmRC_e {
|
|
RPMRC_OK = 0, /*!< Generic success code */
|
|
RPMRC_NOTFOUND = 1, /*!< Generic not found code. */
|
|
RPMRC_FAIL = 2, /*!< Generic failure code. */
|
|
RPMRC_NOTTRUSTED = 3, /*!< Signature is OK, but key is not trusted. */
|
|
RPMRC_NOKEY = 4 /*!< Public key is unavailable. */
|
|
} rpmRC;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/* XXX included late as rpmtag.h depends on our definitions here... */
|
|
#include <rpm/rpmtag.h>
|
|
|
|
#endif /* _RPMTYPES_H */
|