rpm
5.2.1
|
#include "system.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <rpmhook.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | rpmhookItem_s |
struct | rpmhookBucket_s |
struct | rpmhookTable_s |
Defines | |
#define | RPMHOOK_TABLE_INITSIZE 256 |
#define | RPMHOOK_BUCKET_INITSIZE 5 |
Typedefs | |
typedef struct rpmhookItem_s * | rpmhookItem |
typedef struct rpmhookBucket_s * | rpmhookBucket |
typedef struct rpmhookTable_s * | rpmhookTable |
Functions | |
rpmhookArgs | rpmhookArgsNew (int argc) |
rpmhookArgs | rpmhookArgsFree (rpmhookArgs args) |
static rpmhookTable | rpmhookTableNew (int size) |
static void | rpmhookTableRehash (rpmhookTable *table) |
static int | rpmhookTableFindBucket (rpmhookTable *table, const char *name) |
static void | rpmhookTableAddItem (rpmhookTable *table, const char *name, rpmhookFunc func, void *data) |
static void | rpmhookTableDelItem (rpmhookTable *table, const char *name, rpmhookFunc func, void *data, int matchfunc, int matchdata) |
static rpmhookArgs | rpmhookArgsParse (const char *argt, va_list ap) |
static void | rpmhookTableCallArgs (rpmhookTable *table, const char *name, rpmhookArgs args) |
void | rpmhookRegister (const char *name, rpmhookFunc func, void *data) |
void | rpmhookUnregister (const char *name, rpmhookFunc func, void *data) |
void | rpmhookUnregisterAny (const char *name, rpmhookFunc func) |
void | rpmhookUnregisterAll (const char *name) |
void | rpmhookCall (const char *name, const char *argt,...) |
void | rpmhookCallArgs (const char *name, rpmhookArgs args) |
Variables | |
static rpmhookTable | globalTable = NULL |
#define RPMHOOK_BUCKET_INITSIZE 5 |
#define RPMHOOK_TABLE_INITSIZE 256 |
Definition at line 11 of file rpmhook.c.
Referenced by rpmhookRegister().
typedef struct rpmhookBucket_s * rpmhookBucket |
typedef struct rpmhookItem_s * rpmhookItem |
typedef struct rpmhookTable_s * rpmhookTable |
rpmhookArgs rpmhookArgsFree | ( | rpmhookArgs | args | ) |
Definition at line 42 of file rpmhook.c.
Referenced by rpmhookCall().
rpmhookArgs rpmhookArgsNew | ( | int | argc | ) |
Definition at line 34 of file rpmhook.c.
References rpmhookArgs_s::argc, rpmhookArgs_s::argv, and xcalloc().
Referenced by rpmhookArgsParse().
static rpmhookArgs rpmhookArgsParse | ( | const char * | argt, |
va_list | ap | ||
) | [static] |
Definition at line 190 of file rpmhook.c.
References rpmhookArgs_s::argc, rpmhookArgs_s::argt, rpmhookArgs_s::argv, rpmhookArgv::f, rpmhookArgv::i, rpmhookArgv::p, rpmhookArgsNew(), and rpmhookArgv::s.
Referenced by rpmhookCall().
void rpmhookCall | ( | const char * | name, |
const char * | argt, | ||
... | |||
) |
Definition at line 267 of file rpmhook.c.
References rpmhookArgsFree(), rpmhookArgsParse(), and rpmhookTableCallArgs().
void rpmhookCallArgs | ( | const char * | name, |
rpmhookArgs | args | ||
) |
Definition at line 282 of file rpmhook.c.
References rpmhookTableCallArgs().
void rpmhookRegister | ( | const char * | name, |
rpmhookFunc | func, | ||
void * | data | ||
) |
Definition at line 240 of file rpmhook.c.
References RPMHOOK_TABLE_INITSIZE, rpmhookTableAddItem(), and rpmhookTableNew().
static void rpmhookTableAddItem | ( | rpmhookTable * | table, |
const char * | name, | ||
rpmhookFunc | func, | ||
void * | data | ||
) | [static] |
Definition at line 138 of file rpmhook.c.
References rpmhookBucket_s::item, rpmhookBucket_s::name, rpmhookItem_s::next, rpmhookTableFindBucket(), and xcalloc().
Referenced by rpmhookRegister().
static void rpmhookTableCallArgs | ( | rpmhookTable * | table, |
const char * | name, | ||
rpmhookArgs | args | ||
) | [static] |
Definition at line 224 of file rpmhook.c.
References rpmhookItem_s::data, rpmhookItem_s::func, rpmhookItem_s::next, and rpmhookTableFindBucket().
Referenced by rpmhookCall(), and rpmhookCallArgs().
static void rpmhookTableDelItem | ( | rpmhookTable * | table, |
const char * | name, | ||
rpmhookFunc | func, | ||
void * | data, | ||
int | matchfunc, | ||
int | matchdata | ||
) | [static] |
Definition at line 157 of file rpmhook.c.
References rpmhookItem_s::data, rpmhookItem_s::func, rpmhookBucket_s::item, rpmhookBucket_s::name, rpmhookItem_s::next, and rpmhookTableFindBucket().
Referenced by rpmhookUnregister(), rpmhookUnregisterAll(), and rpmhookUnregisterAny().
static int rpmhookTableFindBucket | ( | rpmhookTable * | table, |
const char * | name | ||
) | [static] |
Definition at line 84 of file rpmhook.c.
References rpmhookBucket_s::hash, rpmhookBucket_s::name, and rpmhookTableRehash().
Referenced by rpmhookTableAddItem(), rpmhookTableCallArgs(), rpmhookTableDelItem(), and rpmhookTableRehash().
static rpmhookTable rpmhookTableNew | ( | int | size | ) | [static] |
Definition at line 50 of file rpmhook.c.
References rpmhookTable_s::bucket, rpmhookTable_s::size, and xcalloc().
Referenced by rpmhookRegister(), and rpmhookTableRehash().
static void rpmhookTableRehash | ( | rpmhookTable * | table | ) | [static] |
Definition at line 118 of file rpmhook.c.
References rpmhookTable_s::bucket, rpmhookBucket_s::item, rpmhookBucket_s::name, rpmhookTableFindBucket(), rpmhookTableNew(), and rpmhookTable_s::used.
Referenced by rpmhookTableFindBucket().
void rpmhookUnregister | ( | const char * | name, |
rpmhookFunc | func, | ||
void * | data | ||
) |
Definition at line 249 of file rpmhook.c.
References rpmhookTableDelItem().
void rpmhookUnregisterAll | ( | const char * | name | ) |
Definition at line 261 of file rpmhook.c.
References rpmhookTableDelItem().
void rpmhookUnregisterAny | ( | const char * | name, |
rpmhookFunc | func | ||
) |
Definition at line 255 of file rpmhook.c.
References rpmhookTableDelItem().
rpmhookTable globalTable = NULL [static] |