1 #ifndef __RPMVERSION_H__ 2 #define __RPMVERSION_H__ 15 extern const char *
rpmEVR;
81 #define RPMLIB_VERSION RPMLIB_VERSION_ENCODE(5,4,r,10,0,_) 82 #define RPMLIB_TIMESTAMP RPMLIB_TIMESTAMP_ENCODE(2012,7,6,0,0) 83 #define RPMLIB_VENDOR RPMLIB_VENDOR_ENCODE('R','P','M','5') 86 #define RPMLIB_VERSION_ENCODE(major,minor,type,micro,revision,snap) \ 87 ( RPMLIB_BITFIELD_SET(31,27,(major)) \ 88 | RPMLIB_BITFIELD_SET(26,21,(minor)) \ 89 | RPMLIB_BITFIELD_SET(20,18,RPMLIB_VERSION_ENCODE_T(type)) \ 90 | RPMLIB_BITFIELD_SET(17,10,(micro)) \ 91 | RPMLIB_BITFIELD_SET(9,1,(revision)) \ 92 | RPMLIB_BITFIELD_SET(0,0,RPMLIB_VERSION_ENCODE_S(snap))) 93 #define RPMLIB_VERSION_ENCODE_T(type) RPMLIB_VERSION_ENCODE_T_##type 94 #define RPMLIB_VERSION_ENCODE_T__ 0 95 #define RPMLIB_VERSION_ENCODE_T_a 1 96 #define RPMLIB_VERSION_ENCODE_T_b 2 97 #define RPMLIB_VERSION_ENCODE_T_c 3 98 #define RPMLIB_VERSION_ENCODE_T_r 4 99 #define RPMLIB_VERSION_ENCODE_S(snap) RPMLIB_VERSION_ENCODE_S_##snap 100 #define RPMLIB_VERSION_ENCODE_S__ 0 101 #define RPMLIB_VERSION_ENCODE_S_s 1 104 #define RPMLIB_TIMESTAMP_ENCODE(year,month,date,hour,minute) \ 105 ( RPMLIB_BITFIELD_SET(31,20,(year)) \ 106 | RPMLIB_BITFIELD_SET(19,16,(month)) \ 107 | RPMLIB_BITFIELD_SET(15,11,(date)) \ 108 | RPMLIB_BITFIELD_SET(10,6,(hour)) \ 109 | RPMLIB_BITFIELD_SET(5,0,(minute))) 112 #define RPMLIB_VENDOR_ENCODE(c1,c2,c3,c4) \ 113 ( RPMLIB_BITFIELD_SET(31,24,(c1)) \ 114 | RPMLIB_BITFIELD_SET(23,16,(c2)) \ 115 | RPMLIB_BITFIELD_SET(15,8,(c3)) \ 116 | RPMLIB_BITFIELD_SET(7,0,(c4))) 119 #define RPMLIB_VERSION_LT(major,minor,type,micro,revision,snap) \ 120 (RPMLIB_VERSION < RPMLIB_VERSION_ENCODE((major),(minor),(type),(micro),(revision),(snap))) 121 #define RPMLIB_VERSION_LE(major,minor,type,micro,revision,snap) \ 122 (RPMLIB_VERSION <= RPMLIB_VERSION_ENCODE((major),(minor),(type),(micro),(revision),(snap))) 123 #define RPMLIB_VERSION_EQ(major,minor,type,micro,revision,snap) \ 124 (RPMLIB_VERSION == RPMLIB_VERSION_ENCODE((major),(minor),(type),(micro),(revision),(snap))) 125 #define RPMLIB_VERSION_GE(major,minor,type,micro,revision,snap) \ 126 (RPMLIB_VERSION >= RPMLIB_VERSION_ENCODE((major),(minor),(type),(micro),(revision),(snap))) 127 #define RPMLIB_VERSION_GT(major,minor,type,micro,revision,snap) \ 128 (RPMLIB_VERSION > RPMLIB_VERSION_ENCODE((major),(minor),(type),(micro),(revision),(snap))) 131 #define RPMLIB_TIMESTAMP_LT(year,month,date,hour,minute) \ 132 (RPMLIB_TIMESTAMP < RPMLIB_TIMESTAMP_ENCODE((year),(month),(date),(hour),(minute))) 133 #define RPMLIB_TIMESTAMP_LE(major,minor,type,micro,revision) \ 134 (RPMLIB_TIMESTAMP <= RPMLIB_TIMESTAMP_ENCODE((year),(month),(date),(hour),(minute))) 135 #define RPMLIB_TIMESTAMP_EQ(major,minor,type,micro,revision) \ 136 (RPMLIB_TIMESTAMP == RPMLIB_TIMESTAMP_ENCODE((year),(month),(date),(hour),(minute))) 137 #define RPMLIB_TIMESTAMP_GE(major,minor,type,micro,revision) \ 138 (RPMLIB_TIMESTAMP >= RPMLIB_TIMESTAMP_ENCODE((year),(month),(date),(hour),(minute))) 139 #define RPMLIB_TIMESTAMP_GT(major,minor,type,micro,revision) \ 140 (RPMLIB_TIMESTAMP > RPMLIB_TIMESTAMP_ENCODE((year),(month),(date),(hour),(minute))) 143 #define RPMLIB_VENDOR_EQ(c1,c2,c3,c4) \ 144 (RPMLIB_VENDOR == RPMLIB_VENDOR_ENCODE((c1),(c2),(c3),(c4))) 147 #define RPMLIB_BITFIELD_SET(l,r,n) \ 148 (((n) & ((1<<(((l)-(r))+1))-1) ) << (r))
uint32_t rpmlibVendor(void)
uint32_t rpmlibVersion(void)
uint32_t rpmlibTimestamp(void)