rpm 4.19.1.1 The RPM Package Manager

Loading...
Searching...
No Matches
Macros | Typedefs | Functions | Variables
rpmutil.h File Reference
`#include <unistd.h>`
Include dependency graph for rpmutil.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros
#define | RPM_GNUC_EXTENSION
#define | RPM_GNUC_PURE
#define | RPM_GNUC_MALLOC
#define | RPM_GNUC_ALLOC_SIZE(x)
#define | RPM_GNUC_ALLOC_SIZE2(x, y)
#define | RPM_GNUC_NULL_TERMINATED
#define | RPM_GNUC_PRINTF(format_idx, arg_idx)
#define | RPM_GNUC_SCANF(format_idx, arg_idx)
#define | RPM_GNUC_FORMAT(arg_idx)
#define | RPM_GNUC_NORETURN
#define | RPM_GNUC_CONST
#define | RPM_GNUC_UNUSED
#define | RPM_GNUC_NO_INSTRUMENT
#define | RPM_GNUC_DEPRECATED
#define | RPM_GNUC_MAY_ALIAS
#define | RPM_GNUC_NONNULL(...)
#define | RPM_GNUC_WARN_UNUSED_RESULT
#define | RPM_GNUC_INTERNAL
#define | RPM_BEGIN_DECLS
#define | RPM_END_DECLS

## Typedefs
typedef void *(* | rpmMemFailFunc) (size_t size, void *data)

## Functions
RPM_GNUC_MALLOC | RPM_GNUC_ALLOC_SIZE (1) void *rmalloc(size_t size)
RPM_GNUC_MALLOC | RPM_GNUC_ALLOC_SIZE2 (1, 2) void *rcalloc(size_t nmemb
RPM_GNUC_MALLOC | RPM_GNUC_ALLOC_SIZE2 (2, 3) void *rreallocn(void *ptr
void * | rrealloc (void *ptr, size_t size)
char * | rstrdup (const char *str)
char * | rstrndup (const char *str, size_t n)
void * | rfree (void *ptr)
rpmMemFailFunc | rpmSetMemFail (rpmMemFailFunc func, void *data)

## Variables
RPM_GNUC_MALLOC size_t | size
RPM_GNUC_MALLOC size_t | nmemb

## Detailed Description

Miscellaneous utility macros:

- portability wrappers for various gcc extensions like attribute()
- ...

Copied from glib, names replaced to avoid clashing with glib.

## Typedef Documentation

## ◆ rpmMemFailFunc

typedef void *(* rpmMemFailFunc) (size_t size, void *data)

Memory allocation failure callback prototype. When registered through rpmSetMemFail(), this gets called if memory allocation through rmalloc() and friends fails. If the application can somehow recover memory here, it can return a newly allocated memory block of requested size, otherwise it must return NULL after performing it's own shutdown deeds or terminate itself.

Parameters

  size | Size of allocation request in bytes
  data | User data (or NULL)

Returns
  Allocated memory block of requested size or NULL

## Function Documentation

## ◆ rpmSetMemFail()

rpmMemFailFunc rpmSetMemFail | ( | rpmMemFailFunc | func,
|  | void * | data
| ) |  |

Set memory allocation failure callback.

Parameters

  func | Allocation failure callback function
  data | User data (or NULL)

Returns
  Previous callback function