7 * Typedefs for RPM abstract data types.
8 * @todo The grouping needs love to look sane...
17 typedef const char * errmsg_t;
21 * RPM header and data retrieval types.
24 typedef struct headerToken_s * Header;
25 typedef struct headerIterator_s * HeaderIterator;
27 typedef int32_t rpm_tag_t;
28 typedef uint32_t rpm_tagtype_t;
29 typedef uint32_t rpm_count_t;
30 typedef rpm_tag_t rpmTagVal;
31 typedef rpm_tag_t rpmDbiTagVal;
33 typedef void * rpm_data_t;
34 typedef const void * rpm_constdata_t;
36 typedef struct rpmtd_s * rpmtd;
38 typedef uint32_t rpm_color_t;
39 typedef uint32_t rpm_flag_t;
40 typedef uint32_t rpm_tid_t;
42 typedef uint32_t rpmFlags;
47 * In-header hardcoded sizes for various POSIXy types
50 typedef uint32_t rpm_off_t;
51 typedef uint64_t rpm_loff_t;
52 typedef uint32_t rpm_time_t;
53 typedef uint16_t rpm_mode_t;
54 typedef uint16_t rpm_rdev_t;
55 typedef uint32_t rpm_dev_t;
56 typedef uint32_t rpm_ino_t;
60 * The main types involved in transaction manipulation
63 typedef struct rpmts_s * rpmts;
64 typedef struct rpmte_s * rpmte;
65 typedef struct rpmds_s * rpmds;
66 typedef struct rpmfi_s * rpmfi;
67 typedef struct rpmdb_s * rpmdb;
68 typedef struct rpmdbMatchIterator_s * rpmdbMatchIterator;
69 typedef struct rpmtsi_s * rpmtsi;
70 typedef struct rpmps_s * rpmps;
72 typedef struct rpmdbIndexIterator_s * rpmdbIndexIterator;
73 typedef const void * fnpyKey;
74 typedef void * rpmCallbackData;
77 typedef struct rpmPubkey_s * rpmPubkey;
78 typedef struct rpmKeyring_s * rpmKeyring;
80 typedef uint32_t rpmsid;
81 typedef struct rpmstrPool_s * rpmstrPool;
83 typedef struct rpmPlugins_s * rpmPlugins;
85 typedef struct rpmgi_s * rpmgi;
87 typedef struct rpmSpec_s * rpmSpec;
89 typedef struct rpmRelocation_s rpmRelocation;
93 * RPM IO file descriptor type
95 typedef struct _FD_s * FD_t;
98 * Package read return codes.
100 typedef enum rpmRC_e {
101 RPMRC_OK = 0, /*!< Generic success code */
102 RPMRC_NOTFOUND = 1, /*!< Generic not found code. */
103 RPMRC_FAIL = 2, /*!< Generic failure code. */
104 RPMRC_NOTTRUSTED = 3, /*!< Signature is OK, but key is not trusted. */
105 RPMRC_NOKEY = 4 /*!< Public key is unavailable. */
112 /* XXX included late as rpmtag.h depends on our definitions here... */
113 #include <rpm/rpmtag.h>
115 #endif /* _RPMTYPES_H */