GDB (xrefs)
Classes | Macros | Typedefs | Functions
/tmp/gdb-7.10/gdb/registry.h File Reference

Go to the source code of this file.

Classes

struct  registry_fields
 
struct  registry_data
 
struct  registry_data_registration
 
struct  registry_data_registry
 

Macros

#define REGISTRY_FIELDS   struct registry_fields registry_data
 
#define REGISTRY_ACCESS_FIELD(CONTAINER)   (CONTAINER)
 
#define DEFINE_REGISTRY(TAG, ACCESS)
 
#define DECLARE_REGISTRY(TAG)
 

Typedefs

typedef void(* registry_data_callback) (struct registry_container *, void *)
 
typedef void(* registry_callback_adaptor) (registry_data_callback func, struct registry_container *container, void *data)
 

Functions

const struct registry_dataregister_data_with_cleanup (struct registry_data_registry *registry, registry_data_callback save, registry_data_callback free)
 
void registry_alloc_data (struct registry_data_registry *registry, struct registry_fields *registry_fields)
 
void registry_clear_data (struct registry_data_registry *data_registry, registry_callback_adaptor adaptor, struct registry_container *container, struct registry_fields *fields)
 
void registry_container_free_data (struct registry_data_registry *data_registry, registry_callback_adaptor adaptor, struct registry_container *container, struct registry_fields *fields)
 
void registry_set_data (struct registry_fields *fields, const struct registry_data *data, void *value)
 
void * registry_data (struct registry_fields *fields, const struct registry_data *data)
 

Macro Definition Documentation

#define DECLARE_REGISTRY (   TAG)
Value:
struct TAG ## _data; \
typedef void (*registry_ ## TAG ## _callback) (struct TAG *, void *); \
extern const struct TAG ## _data *register_ ## TAG ## _data (void); \
extern const struct TAG ## _data *register_ ## TAG ## _data_with_cleanup \
(registry_ ## TAG ## _callback save, registry_ ## TAG ## _callback free); \
extern void clear_ ## TAG ## _data (struct TAG *); \
extern void set_ ## TAG ## _data (struct TAG *, \
const struct TAG ## _data *data, \
void *value); \
extern void *TAG ## _data (struct TAG *, \
const struct TAG ## _data *data);
#define TAG(tag, text, kind)
Definition: value.c:172

Definition at line 244 of file registry.h.

#define DEFINE_REGISTRY (   TAG,
  ACCESS 
)

Definition at line 154 of file registry.h.

#define REGISTRY_ACCESS_FIELD (   CONTAINER)    (CONTAINER)

Definition at line 85 of file registry.h.

#define REGISTRY_FIELDS   struct registry_fields registry_data

Definition at line 78 of file registry.h.

Typedef Documentation

typedef void(* registry_callback_adaptor) (registry_data_callback func, struct registry_container *container, void *data)

Definition at line 131 of file registry.h.

typedef void(* registry_data_callback) (struct registry_container *, void *)

Definition at line 97 of file registry.h.

Function Documentation

const struct registry_data* register_data_with_cleanup ( struct registry_data_registry registry,
registry_data_callback  save,
registry_data_callback  free 
)
void registry_alloc_data ( struct registry_data_registry registry,
struct registry_fields registry_fields 
)
void registry_clear_data ( struct registry_data_registry data_registry,
registry_callback_adaptor  adaptor,
struct registry_container *  container,
struct registry_fields fields 
)
void registry_container_free_data ( struct registry_data_registry data_registry,
registry_callback_adaptor  adaptor,
struct registry_container *  container,
struct registry_fields fields 
)

Definition at line 85 of file registry.c.

References registry_fields::data, gdb_assert, registry_clear_data(), and xfree().

void* registry_data ( struct registry_fields fields,
const struct registry_data data 
)
void registry_set_data ( struct registry_fields fields,
const struct registry_data data,
void *  value 
)