Add missing static_map.h
Signed-off-by: Lon Hohberger <lon@users.sourceforge.net>
This commit is contained in:
parent
d19a48a6b8
commit
339052d433
32
include/static_map.h
Normal file
32
include/static_map.h
Normal file
@ -0,0 +1,32 @@
|
||||
#ifndef _STATIC_MAP_H
|
||||
#define _STATIC_MAP_H
|
||||
|
||||
typedef int (*map_load_t)(void *config, void **perm_info);
|
||||
typedef int (*map_check_t)(void *info, const char *src, const char *tgt);
|
||||
typedef void (*map_cleanup_t)(void **info);
|
||||
|
||||
typedef struct {
|
||||
map_load_t load;
|
||||
map_check_t check;
|
||||
map_cleanup_t cleanup;
|
||||
void *info;
|
||||
} map_object_t;
|
||||
|
||||
/*
|
||||
* These macros may be called from within a loadable module
|
||||
*/
|
||||
#define map_load(obj, config) \
|
||||
obj->load(config, &obj->info)
|
||||
#define map_check(obj, src, tgt) \
|
||||
obj->check(obj->info, src, tgt)
|
||||
#define map_free(obj) \
|
||||
obj->cleanup(obj->info)
|
||||
|
||||
/* Returns a copy of our simple config object */
|
||||
void *map_init(void);
|
||||
|
||||
/* Frees a previously-allocated copy of our simple config object */
|
||||
void map_release(void *c);
|
||||
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user