qse/ase/stx/symbol.h

45 lines
901 B
C
Raw Normal View History

2005-05-17 16:18:56 +00:00
/*
2005-06-08 16:05:41 +00:00
* $Id: symbol.h,v 1.6 2005-06-08 16:00:51 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;
2005-06-08 16:05:41 +00:00
xp_word_t link;
xp_word_t symbol;
2005-05-23 14:43:03 +00:00
};
typedef struct xp_stx_symlink_t xp_stx_symlink_t;
2005-05-17 16:18:56 +00:00
#ifdef __cplusplus
extern "C" {
#endif
2005-06-08 16:05:41 +00:00
xp_word_t xp_stx_new_symbol_link (xp_stx_t* stx, xp_word_t sym);
2005-05-23 15:51:03 +00:00
2005-06-08 16:05:41 +00:00
xp_word_t xp_stx_new_symbol (
xp_stx_t* stx, const xp_char_t* name);
xp_word_t xp_stx_new_symbolx (
xp_stx_t* stx, const xp_char_t* name, xp_word_t len);
2005-05-23 15:51:03 +00:00
2005-06-08 16:05:41 +00:00
xp_word_t xp_stx_new_symbol_pp (
xp_stx_t* stx, const xp_char_t* name,
const xp_char_t* prefix, const xp_char_t* postfix);
2005-05-18 04:01:51 +00:00
void xp_stx_traverse_symbol_table (
2005-06-08 16:05:41 +00:00
xp_stx_t* stx, void (*func) (xp_stx_t*,xp_word_t));
2005-05-18 04:01:51 +00:00
2005-05-17 16:18:56 +00:00
#ifdef __cplusplus
}
#endif
#endif