GDB (xrefs)
Classes | Typedefs | Functions | Variables
scm-block.c File Reference
#include "defs.h"
#include "block.h"
#include "dictionary.h"
#include "objfiles.h"
#include "source.h"
#include "symtab.h"
#include "guile-internal.h"

Go to the source code of this file.

Classes

struct  _block_smob
 
struct  block_syms_progress_smob
 

Typedefs

typedef struct _block_smob block_smob
 

Functions

static hashval_t bkscm_hash_block_smob (const void *p)
 
static int bkscm_eq_block_smob (const void *ap, const void *bp)
 
static htab_t bkscm_objfile_block_map (struct objfile *objfile)
 
static size_t bkscm_free_block_smob (SCM self)
 
static int bkscm_print_block_smob (SCM self, SCM port, scm_print_state *pstate)
 
static SCM bkscm_make_block_smob (void)
 
static int bkscm_is_block (SCM scm)
 
static SCM gdbscm_block_p (SCM scm)
 
SCM bkscm_scm_from_block (const struct block *block, struct objfile *objfile)
 
static SCM bkscm_get_block_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static block_smobbkscm_get_block_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static int bkscm_is_valid (block_smob *b_smob)
 
static block_smobbkscm_get_valid_block_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static block_smobbkscm_get_valid_block (SCM scm, int arg_pos, const char *func_name, SCM *excp)
 
const struct blockbkscm_scm_to_block (SCM block_scm, int arg_pos, const char *func_name, SCM *excp)
 
static int bkscm_mark_block_invalid (void **slot, void *info)
 
static void bkscm_del_objfile_blocks (struct objfile *objfile, void *datum)
 
static SCM gdbscm_block_valid_p (SCM self)
 
static SCM gdbscm_block_start (SCM self)
 
static SCM gdbscm_block_end (SCM self)
 
static SCM gdbscm_block_function (SCM self)
 
static SCM gdbscm_block_superblock (SCM self)
 
static SCM gdbscm_block_global_block (SCM self)
 
static SCM gdbscm_block_static_block (SCM self)
 
static SCM gdbscm_block_global_p (SCM self)
 
static SCM gdbscm_block_static_p (SCM self)
 
static SCM gdbscm_block_symbols (SCM self)
 
static int bkscm_print_block_syms_progress_smob (SCM self, SCM port, scm_print_state *pstate)
 
static SCM bkscm_make_block_syms_progress_smob (void)
 
static int bkscm_is_block_syms_progress (SCM scm)
 
static SCM bkscm_block_syms_progress_p (SCM scm)
 
static SCM gdbscm_make_block_syms_iter (SCM self)
 
static SCM gdbscm_block_next_symbol_x (SCM self)
 
static SCM gdbscm_lookup_block (SCM pc_scm)
 
void gdbscm_initialize_blocks (void)
 

Variables

static const char block_smob_name [] = "gdb:block"
 
static const char block_syms_progress_smob_name [] = "gdb:block-symbols-iterator"
 
static scm_t_bits block_smob_tag
 
static scm_t_bits block_syms_progress_smob_tag
 
static SCM bkscm_next_symbol_x_proc
 
static const struct objfile_data * bkscm_objfile_data_key
 
static const scheme_function block_functions []
 

Typedef Documentation

typedef struct _block_smob block_smob

Function Documentation

static SCM bkscm_block_syms_progress_p ( SCM  scm)
static

Definition at line 605 of file scm-block.c.

References bkscm_is_block_syms_progress().

static void bkscm_del_objfile_blocks ( struct objfile objfile,
void *  datum 
)
static

Definition at line 348 of file scm-block.c.

References bkscm_mark_block_invalid().

Referenced by gdbscm_initialize_blocks().

static int bkscm_eq_block_smob ( const void *  ap,
const void *  bp 
)
static

Definition at line 96 of file scm-block.c.

References _block_smob::block.

Referenced by bkscm_objfile_block_map().

static size_t bkscm_free_block_smob ( SCM  self)
static
static SCM bkscm_get_block_arg_unsafe ( SCM  self,
int  arg_pos,
const char *  func_name 
)
static

Definition at line 238 of file scm-block.c.

References bkscm_is_block(), and block_smob_name.

Referenced by bkscm_get_block_smob_arg_unsafe().

static block_smob* bkscm_get_block_smob_arg_unsafe ( SCM  self,
int  arg_pos,
const char *  func_name 
)
static
static block_smob* bkscm_get_valid_block ( SCM  scm,
int  arg_pos,
const char *  func_name,
SCM *  excp 
)
static
static block_smob* bkscm_get_valid_block_smob_arg_unsafe ( SCM  self,
int  arg_pos,
const char *  func_name 
)
static
static hashval_t bkscm_hash_block_smob ( const void *  p)
static

Definition at line 86 of file scm-block.c.

References _block_smob::block.

Referenced by bkscm_objfile_block_map().

static int bkscm_is_block ( SCM  scm)
static

Definition at line 193 of file scm-block.c.

References block_smob_tag.

Referenced by bkscm_get_block_arg_unsafe(), bkscm_get_valid_block(), and gdbscm_block_p().

static int bkscm_is_block_syms_progress ( SCM  scm)
static

Definition at line 597 of file scm-block.c.

References block_syms_progress_smob_tag.

Referenced by bkscm_block_syms_progress_p(), and gdbscm_block_next_symbol_x().

static int bkscm_is_valid ( block_smob b_smob)
static
static SCM bkscm_make_block_smob ( void  )
static
static SCM bkscm_make_block_syms_progress_smob ( void  )
static
static int bkscm_mark_block_invalid ( void **  slot,
void *  info 
)
static

Definition at line 333 of file scm-block.c.

References _block_smob::block, and _block_smob::objfile.

Referenced by bkscm_del_objfile_blocks().

static htab_t bkscm_objfile_block_map ( struct objfile objfile)
static
static int bkscm_print_block_smob ( SCM  self,
SCM  port,
scm_print_state *  pstate 
)
static
static int bkscm_print_block_syms_progress_smob ( SCM  self,
SCM  port,
scm_print_state *  pstate 
)
static
SCM bkscm_scm_from_block ( const struct block block,
struct objfile objfile 
)
const struct block* bkscm_scm_to_block ( SCM  block_scm,
int  arg_pos,
const char *  func_name,
SCM *  excp 
)
static SCM gdbscm_block_end ( SCM  self)
static
static SCM gdbscm_block_function ( SCM  self)
static
static SCM gdbscm_block_global_block ( SCM  self)
static
static SCM gdbscm_block_global_p ( SCM  self)
static
static SCM gdbscm_block_next_symbol_x ( SCM  self)
static
static SCM gdbscm_block_p ( SCM  scm)
static

Definition at line 201 of file scm-block.c.

References bkscm_is_block().

static SCM gdbscm_block_start ( SCM  self)
static
static SCM gdbscm_block_static_block ( SCM  self)
static
static SCM gdbscm_block_static_p ( SCM  self)
static
static SCM gdbscm_block_superblock ( SCM  self)
static
static SCM gdbscm_block_symbols ( SCM  self)
static
static SCM gdbscm_block_valid_p ( SCM  self)
static

Definition at line 365 of file scm-block.c.

References bkscm_get_block_smob_arg_unsafe(), bkscm_is_valid(), and FUNC_NAME.

void gdbscm_initialize_blocks ( void  )
static SCM gdbscm_lookup_block ( SCM  pc_scm)
static
static SCM gdbscm_make_block_syms_iter ( SCM  self)
static

Variable Documentation

SCM bkscm_next_symbol_x_proc
static

Definition at line 77 of file scm-block.c.

Referenced by gdbscm_initialize_blocks(), and gdbscm_make_block_syms_iter().

const struct objfile_data* bkscm_objfile_data_key
static

Definition at line 79 of file scm-block.c.

Referenced by bkscm_objfile_block_map(), and gdbscm_initialize_blocks().

const scheme_function block_functions[]
static

Definition at line 710 of file scm-block.c.

const char block_smob_name[] = "gdb:block"
static
scm_t_bits block_smob_tag
static

Definition at line 73 of file scm-block.c.

Referenced by bkscm_is_block(), bkscm_make_block_smob(), and gdbscm_initialize_blocks().

const char block_syms_progress_smob_name[] = "gdb:block-symbols-iterator"
static
scm_t_bits block_syms_progress_smob_tag
static