GDB (xrefs)
Functions | Variables
scm-gsmob.c File Reference
#include "defs.h"
#include "hashtab.h"
#include "objfiles.h"
#include "guile-internal.h"

Go to the source code of this file.

Functions

static hashval_t hash_scm_t_bits (const void *item)
 
static int eq_scm_t_bits (const void *item_lhs, const void *item_rhs)
 
static void register_gsmob (scm_t_bits gsmob_code)
 
static int gdbscm_is_gsmob (SCM scm)
 
scm_t_bits gdbscm_make_smob_type (const char *name, size_t size)
 
void gdbscm_init_gsmob (gdb_smob *base)
 
void gdbscm_init_chained_gsmob (chained_gdb_smob *base)
 
void gdbscm_init_eqable_gsmob (eqable_gdb_smob *base, SCM containing_scm)
 
static SCM gsscm_get_gsmob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static SCM gdbscm_gsmob_kind (SCM self)
 
void gdbscm_add_objfile_ref (struct objfile *objfile, const struct objfile_data *data_key, chained_gdb_smob *g_smob)
 
void gdbscm_remove_objfile_ref (struct objfile *objfile, const struct objfile_data *data_key, chained_gdb_smob *g_smob)
 
htab_t gdbscm_create_eqable_gsmob_ptr_map (htab_hash hash_fn, htab_eq eq_fn)
 
eqable_gdb_smob ** gdbscm_find_eqable_gsmob_ptr_slot (htab_t htab, eqable_gdb_smob *base)
 
void gdbscm_fill_eqable_gsmob_ptr_slot (eqable_gdb_smob **slot, eqable_gdb_smob *base)
 
void gdbscm_clear_eqable_gsmob_ptr_slot (htab_t htab, eqable_gdb_smob *base)
 
void gdbscm_initialize_smobs (void)
 

Variables

static htab_t registered_gsmobs
 
static const scheme_function gsmob_functions []
 

Function Documentation

static int eq_scm_t_bits ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 67 of file scm-gsmob.c.

Referenced by gdbscm_initialize_smobs().

void gdbscm_add_objfile_ref ( struct objfile objfile,
const struct objfile_data *  data_key,
chained_gdb_smob g_smob 
)

Definition at line 189 of file scm-gsmob.c.

References _chained_gdb_smob::next, and _chained_gdb_smob::prev.

void gdbscm_clear_eqable_gsmob_ptr_slot ( htab_t  htab,
eqable_gdb_smob base 
)
htab_t gdbscm_create_eqable_gsmob_ptr_map ( htab_hash  hash_fn,
htab_eq  eq_fn 
)
void gdbscm_fill_eqable_gsmob_ptr_slot ( eqable_gdb_smob **  slot,
eqable_gdb_smob base 
)
eqable_gdb_smob** gdbscm_find_eqable_gsmob_ptr_slot ( htab_t  htab,
eqable_gdb_smob base 
)
static SCM gdbscm_gsmob_kind ( SCM  self)
static

Definition at line 162 of file scm-gsmob.c.

References FUNC_NAME, gsscm_get_gsmob_arg_unsafe(), name, xfree(), and xstrprintf().

void gdbscm_init_chained_gsmob ( chained_gdb_smob base)
void gdbscm_init_eqable_gsmob ( eqable_gdb_smob base,
SCM  containing_scm 
)
void gdbscm_init_gsmob ( gdb_smob base)
void gdbscm_initialize_smobs ( void  )
static int gdbscm_is_gsmob ( SCM  scm)
static

Definition at line 88 of file scm-gsmob.c.

References registered_gsmobs.

Referenced by gsscm_get_gsmob_arg_unsafe().

scm_t_bits gdbscm_make_smob_type ( const char *  name,
size_t  size 
)
void gdbscm_remove_objfile_ref ( struct objfile objfile,
const struct objfile_data *  data_key,
chained_gdb_smob g_smob 
)

Definition at line 209 of file scm-gsmob.c.

References _chained_gdb_smob::next, and _chained_gdb_smob::prev.

static SCM gsscm_get_gsmob_arg_unsafe ( SCM  self,
int  arg_pos,
const char *  func_name 
)
static

Definition at line 148 of file scm-gsmob.c.

References _, and gdbscm_is_gsmob().

Referenced by gdbscm_gsmob_kind().

static hashval_t hash_scm_t_bits ( const void *  item)
static

Definition at line 57 of file scm-gsmob.c.

Referenced by gdbscm_initialize_smobs().

static void register_gsmob ( scm_t_bits  gsmob_code)
static

Definition at line 76 of file scm-gsmob.c.

References gdb_assert, and registered_gsmobs.

Referenced by gdbscm_make_smob_type().

Variable Documentation

const scheme_function gsmob_functions[]
static
Initial value:
=
{
{ "gdb-object-kind", 1, 0, 0, gdbscm_gsmob_kind,
"\
Return the kind of the GDB object, e.g., <gdb:breakpoint>, as a symbol." },
}
#define END_FUNCTIONS
static SCM gdbscm_gsmob_kind(SCM self)
Definition: scm-gsmob.c:162

Definition at line 273 of file scm-gsmob.c.

htab_t registered_gsmobs
static

Definition at line 52 of file scm-gsmob.c.

Referenced by gdbscm_initialize_smobs(), gdbscm_is_gsmob(), and register_gsmob().