20 #if     __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)    21 #  define RPM_GNUC_EXTENSION __extension__    23 #  define RPM_GNUC_EXTENSION    28 #if    __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)    29 #define RPM_GNUC_PURE                            \    30   __attribute__((__pure__))    31 #define RPM_GNUC_MALLOC                         \    32   __attribute__((__malloc__))    35 #define RPM_GNUC_MALLOC    38 #if     (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)    39 #define RPM_GNUC_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))    40 #define RPM_GNUC_ALLOC_SIZE2(x,y) __attribute__((__alloc_size__(x,y)))    42 #define RPM_GNUC_ALLOC_SIZE(x)    43 #define RPM_GNUC_ALLOC_SIZE2(x,y)    47 #define RPM_GNUC_NULL_TERMINATED __attribute__((__sentinel__))    49 #define RPM_GNUC_NULL_TERMINATED    52 #if     __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)    53 #define RPM_GNUC_PRINTF( format_idx, arg_idx )    \    54   __attribute__((__format__ (__printf__, format_idx, arg_idx)))    55 #define RPM_GNUC_SCANF( format_idx, arg_idx )     \    56   __attribute__((__format__ (__scanf__, format_idx, arg_idx)))    57 #define RPM_GNUC_FORMAT( arg_idx )                \    58   __attribute__((__format_arg__ (arg_idx)))    59 #define RPM_GNUC_NORETURN                         \    60   __attribute__((__noreturn__))    61 #define RPM_GNUC_CONST                            \    62   __attribute__((__const__))    63 #define RPM_GNUC_UNUSED                           \    64   __attribute__((__unused__))    65 #define RPM_GNUC_NO_INSTRUMENT                  \    66   __attribute__((__no_instrument_function__))    68 #define RPM_GNUC_PRINTF( format_idx, arg_idx )    69 #define RPM_GNUC_SCANF( format_idx, arg_idx )    70 #define RPM_GNUC_FORMAT( arg_idx )    71 #define RPM_GNUC_NORETURN    72 #define RPM_GNUC_CONST    73 #define RPM_GNUC_UNUSED    74 #define RPM_GNUC_NO_INSTRUMENT    77 #if    __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)    78 #define RPM_GNUC_DEPRECATED                            \    79   __attribute__((__deprecated__))    81 #define RPM_GNUC_DEPRECATED    84 #if     __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)    85 #define RPM_GNUC_MAY_ALIAS __attribute__((may_alias))    86 #define RPM_GNUC_NONNULL( ... ) \    87   __attribute__((__nonnull__ (__VA_ARGS__)))    89 #define RPM_GNUC_MAY_ALIAS    90 #define RPM_GNUC_NONNULL( ... )    93 #if    __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)    94 #define RPM_GNUC_WARN_UNUSED_RESULT             \    95   __attribute__((warn_unused_result))    97 #define RPM_GNUC_WARN_UNUSED_RESULT   100 #if    __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)   101 #  define RPM_GNUC_INTERNAL __attribute__((visibility("hidden")))   103 #  define RPM_GNUC_INTERNAL   109 # define RPM_BEGIN_DECLS  extern "C" {   110 # define RPM_END_DECLS    }   112 # define RPM_BEGIN_DECLS   113 # define RPM_END_DECLS   125 void * 
rcalloc(
size_t nmemb, 
size_t size);
   128 void * 
rrealloc(
void *ptr, 
size_t size);
   130 char * 
rstrdup(
const char *str);
   133 void * 
rfree(
void *ptr);
   146 typedef void * (*rpmMemFailFunc) (
size_t size, 
void *data);
 void * rmalloc(size_t size)
void *(* rpmMemFailFunc)(size_t size, void *data)
Memory allocation failure callback prototype.
#define RPM_GNUC_ALLOC_SIZE(x)
#define RPM_GNUC_ALLOC_SIZE2(x, y)
void * rrealloc(void *ptr, size_t size)
char * rstrdup(const char *str)
rpmMemFailFunc rpmSetMemFail(rpmMemFailFunc func, void *data)
Set memory allocation failure callback.
void * rcalloc(size_t nmemb, size_t size)