qse/ase/stx/symbol.h

45 lines
957 B
C
Raw Normal View History

2005-05-17 16:18:56 +00:00
/*
2005-05-23 15:51:03 +00:00
* $Id: symbol.h,v 1.5 2005-05-23 15:51:03 bacon Exp $
2005-05-17 16:18:56 +00:00
*/
#ifndef _XP_STX_SYMBOL_H_
#define _XP_STX_SYMBOL_H_
#include <xp/stx/stx.h>
2005-05-21 15:55:50 +00:00
#define XP_STX_SYMLINK_SIZE 2
#define XP_STX_SYMLINK_LINK 0
#define XP_STX_SYMLINK_SYMBOL 1
2005-05-23 14:43:03 +00:00
struct xp_stx_symlink_t
{
xp_stx_objhdr_t header;
xp_stx_word_t link;
xp_stx_word_t symbol;
};
typedef struct xp_stx_symlink_t xp_stx_symlink_t;
2005-05-17 16:18:56 +00:00
#ifdef __cplusplus
extern "C" {
#endif
xp_stx_word_t xp_stx_new_symbol_link (xp_stx_t* stx, xp_stx_word_t sym);
2005-05-23 15:51:03 +00:00
xp_stx_word_t xp_stx_new_symbol (
xp_stx_t* stx, const xp_stx_char_t* name);
xp_stx_word_t xp_stx_new_symbolx (
xp_stx_t* stx, const xp_stx_char_t* name, xp_stx_word_t len);
2005-05-17 16:18:56 +00:00
xp_stx_word_t xp_stx_new_symbol_pp (
xp_stx_t* stx, const xp_stx_char_t* name,
const xp_stx_char_t* prefix, const xp_stx_char_t* postfix);
2005-05-18 04:01:51 +00:00
void xp_stx_traverse_symbol_table (
xp_stx_t* stx, void (*func) (xp_stx_t*,xp_stx_word_t));
2005-05-17 16:18:56 +00:00
#ifdef __cplusplus
}
#endif
#endif