7 * Typedefs for RPM abstract data types.
8 * @todo The grouping needs love to look sane...
11 #include <rpm/rpmints.h>
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; /* unused */
29 typedef uint32_t rpm_count_t;
31 typedef void * rpm_data_t;
32 typedef const void * rpm_constdata_t;
34 typedef struct rpmtd_s * rpmtd;
36 typedef uint32_t rpm_color_t;
37 typedef uint32_t rpm_flag_t;
38 typedef int32_t rpm_tid_t;
43 * In-header hardcoded sizes for various POSIXy types
46 typedef uint32_t rpm_off_t;
47 typedef uint32_t rpm_time_t;
48 typedef uint16_t rpm_mode_t;
49 typedef uint16_t rpm_rdev_t;
50 typedef uint32_t rpm_dev_t;
51 typedef uint32_t rpm_ino_t;
55 * The main types involved in transaction manipulation
58 typedef struct rpmts_s * rpmts;
59 typedef struct rpmte_s * rpmte;
60 typedef struct rpmds_s * rpmds;
61 typedef struct rpmfi_s * rpmfi;
62 typedef struct rpmdb_s * rpmdb;
63 typedef struct rpmdbMatchIterator_s * rpmdbMatchIterator;
64 typedef struct rpmal_s * rpmal;
65 typedef void * rpmalKey;
66 typedef const void * fnpyKey;
67 typedef void * rpmCallbackData;
70 typedef struct rpmgi_s * rpmgi;
72 typedef struct rpmSpec_s * rpmSpec;
74 typedef struct rpmRelocation_s rpmRelocation;
78 * RPM IO file descriptor type
80 typedef struct _FD_s * FD_t;
83 * Package read return codes.
85 typedef enum rpmRC_e {
86 RPMRC_OK = 0, /*!< Generic success code */
87 RPMRC_NOTFOUND = 1, /*!< Generic not found code. */
88 RPMRC_FAIL = 2, /*!< Generic failure code. */
89 RPMRC_NOTTRUSTED = 3, /*!< Signature is OK, but key is not trusted. */
90 RPMRC_NOKEY = 4 /*!< Public key is unavailable. */
97 /* XXX included late as rpmtag.h depends on our definitions here... */
98 #include <rpm/rpmtag.h>
100 #endif /* _RPMTYPES_H */