For internal use only.
This file contains the implementation of the event_gen_register() function and its various helper functions.
Definition in file event_gen_register.c.
#include "event_int.h"
#include <stdlib.h>
#include <string.h>
Include dependency graph for event_gen_register.c:
Go to the source code of this file.
Data Structures | |
struct | generator |
Generator description structure. More... | |
Defines | |
#define | gd_init(gd, desc) |
Initialize an ev_gendesc_t. | |
#define | gens_link(ctx, gens) |
Event generators linker. | |
Functions | |
static ev_err_t | gens_construct (ev_ctx_t *ctx, ev_gens_t *prev, ev_gens_t *next, struct generator *desc) |
Construct a generator descriptor. | |
static ev_err_t | gens_extend (ev_ctx_t *ctx, ev_gens_t *gens, struct generator *desc) |
Extend an existing generator descriptor list element. | |
static ev_err_t | gens_merge (ev_ctx_t *ctx, ev_gens_t *gens, struct generator *desc) |
Merge two sets of generator descriptors. | |
ev_err_t | event_gen_register (ev_ctx_t *ctx, unsigned int gentype, ev_magic_t genmagic, size_t gensize, ev_freegen_t genrel) |
Register a generator. |
|
For internal use only. This helper macro initializes a generator descriptor with the specified description.
Definition at line 60 of file event_gen_register.c. Referenced by gens_construct(), gens_extend(), and gens_merge(). |
|
For internal use only.
This macro is used to link a set of generator descriptors, as specified in the
Definition at line 88 of file event_gen_register.c. Referenced by gens_construct(), gens_extend(), and gens_merge(). |
|
For internal use only.
This function is a helper function to create a new ev_gens_t containing a description of one generator, as specified by the
Definition at line 119 of file event_gen_register.c. References _ev_ctx_s::ec_maxgen, ev_return, ev_trace, gd_init, gens_link, generator::gentype, _ev_gens_s::gs_count, _ev_gens_s::gs_first, _ev_gens_s::gs_gens, _ev_gens_s::gs_next, and _ev_gens_s::gs_prev. Referenced by event_gen_register(). |
|
For internal use only.
This function is a helper function to extend an existing ev_gens_t to include a description of a new generator, as specified by the
Definition at line 167 of file event_gen_register.c. References _ev_ctx_s::ec_maxgen, ev_assert, ev_return, ev_trace, gd_init, gens_link, generator::gentype, _ev_gens_s::gs_count, _ev_gens_s::gs_first, and _ev_gens_s::gs_gens. Referenced by event_gen_register(). |
|
For internal use only.
This function is a helper function to merge two ev_gens_t structures into a single ev_gens_t containing all the generators of the two being merged and the one specified by the
Definition at line 224 of file event_gen_register.c. References _ev_ctx_s::ec_maxgen, ev_assert, ev_return, ev_trace, gd_init, gens_link, generator::gentype, _ev_gens_s::gs_count, _ev_gens_s::gs_first, _ev_gens_s::gs_gens, _ev_gens_s::gs_next, and _ev_gens_s::gs_prev. Referenced by event_gen_register(). |