Libecoli
0.3.0
Extensible COmmand LIne library
Loading...
Searching...
No Matches
include
ecoli_init.h
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
3
*/
4
10
#ifndef ECOLI_INIT_
11
#define ECOLI_INIT_
12
13
#include <sys/queue.h>
14
15
#include <ecoli_log.h>
16
#include <ecoli_node.h>
17
23
#define EC_INIT_REGISTER(t) \
24
static void ec_init_init_##t(void); \
25
static void __attribute__((constructor, used)) \
26
ec_init_init_##t(void) \
27
{ \
28
ec_init_register(&t); \
29
}
30
34
typedef
int (
ec_init_t
)(void);
35
39
typedef
void (
ec_exit_t
)(void);
40
41
TAILQ_HEAD(ec_init_list,
ec_init
);
42
46
struct
ec_init
{
47
TAILQ_ENTRY(
ec_init
) next;
48
ec_init_t
*init;
49
ec_exit_t
*exit;
50
unsigned
int
priority;
51
};
52
59
void
ec_init_register
(
struct
ec_init
*test);
60
70
int
ec_init
(
void
);
71
75
void
ec_exit
(
void
);
76
77
#endif
78
ec_exit_t
void ec_exit_t(void)
Definition
ecoli_init.h:39
ec_init_t
int ec_init_t(void)
Definition
ecoli_init.h:34
ec_init
int ec_init(void)
ec_exit
void ec_exit(void)
ec_init_register
void ec_init_register(struct ec_init *test)
ec_init
Definition
ecoli_init.h:46
Generated by
1.10.0