/usr/include/libr/r_config.h is in libradare2-dev 2.3.0+dfsg-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | #ifndef R2_CONFIG_H
#define R2_CONFIG_H
#include "r_types.h"
#include "r_util.h"
#ifdef __cplusplus
extern "C" {
#endif
R_LIB_VERSION_HEADER(r_config);
#define CN_BOOL 0x000001
#define CN_INT 0x000002
#define CN_OFFT 0x000004
#define CN_STR 0x000008
#define CN_RO 0x000010
#define CN_RW 0x000020
typedef int (*RConfigCallback)(void *user, void *data);
typedef struct r_config_node_t {
char *name;
int flags;
char *value;
ut64 i_value;
ut64 *cb_ptr_q;
int *cb_ptr_i;
char **cb_ptr_s;
RConfigCallback getter;
RConfigCallback setter;
char *desc;
RList *options;
} RConfigNode;
R_API const char *r_config_node_type(RConfigNode *node);
typedef struct r_config_t {
int lock;
int last_notfound;
int n_nodes;
void *user;
RNum *num;
PrintfCallback cb_printf;
RList *nodes;
SdbHash *ht;
} RConfig;
typedef struct r_config_hold_num_t {
char *key;
ut64 value;
} RConfigHoldNum;
typedef struct r_config_hold_char_t {
char *key;
const char *value;
} RConfigHoldChar;
typedef struct r_config_hold_t {
RConfig *cfg;
RList *list_num; //list of RConfigHoldNum to hold numeric values
RList *list_char; //list of RConfigHoldChar to hold char values
} RConfigHold;
#ifdef R_API
R_API bool r_config_save_num(RConfigHold *h, ...);
R_API bool r_config_save_char(RConfigHold *h, ...);
R_API RConfigHold* r_config_hold_new(RConfig *cfg);
R_API void r_config_hold_free(RConfigHold *h);
R_API void r_config_restore(RConfigHold *h);
R_API RConfig *r_config_new(void *user);
R_API RConfig *r_config_clone (RConfig *cfg);
R_API int r_config_free(RConfig *cfg);
R_API void r_config_lock(RConfig *cfg, int l);
R_API int r_config_eval(RConfig *cfg, const char *str);
R_API void r_config_bump(RConfig *cfg, const char *key);
R_API RConfigNode *r_config_set_i(RConfig *cfg, const char *name, const ut64 i);
R_API RConfigNode *r_config_set_cb(RConfig *cfg, const char *name, const char *value, int (*callback)(void *user, void *data));
R_API RConfigNode *r_config_set_i_cb(RConfig *cfg, const char *name, int ivalue, int (*callback)(void *user, void *data));
R_API RConfigNode *r_config_set(RConfig *cfg, const char *name, const char *value);
R_API int r_config_rm(RConfig *cfg, const char *name);
R_API ut64 r_config_get_i(RConfig *cfg, const char *name);
R_API const char *r_config_get(RConfig *cfg, const char *name);
R_API const char *r_config_desc(RConfig *cfg, const char *name, const char *desc);
R_API const char *r_config_node_desc(RConfigNode *node, const char *desc);
R_API void r_config_list(RConfig *cfg, const char *str, int rad);
R_API RConfigNode *r_config_node_get(RConfig *cfg, const char *name);
R_API RConfigNode *r_config_node_new(const char *name, const char *value);
R_API void r_config_node_free(void *n);
R_API int r_config_toggle(RConfig *cfg, const char *name);
R_API int r_config_readonly (RConfig *cfg, const char *key);
/*----------------------------------------------------------------------------------------------*/
R_API void r_config_set_sort_column (char *column);
/*----------------------------------------------------------------------------------------------*/
R_API int r_config_set_setter (RConfig *cfg, const char *key, RConfigCallback cb);
R_API int r_config_set_getter (RConfig *cfg, const char *key, RConfigCallback cb);
#endif
#ifdef __cplusplus
}
#endif
#endif
|