diff options
author | Pablo Martín <caedesv@users.sourceforge.net> | 2003-09-07 20:01:24 +0000 |
---|---|---|
committer | Pablo Martín <caedesv@users.sourceforge.net> | 2003-09-07 20:01:24 +0000 |
commit | e20d5ae3622d5d656dc28d7a090aee76b08158b0 (patch) | |
tree | de772d913888f4d5faf127414e2cb4ce486be3ca /include/pdp_types.h | |
parent | 69fab985ebfc5ea03228c92a859e4091fee1b28d (diff) |
updating pdp to current version 0.12.2
svn path=/trunk/externals/pdp/; revision=936
Diffstat (limited to 'include/pdp_types.h')
-rw-r--r-- | include/pdp_types.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/include/pdp_types.h b/include/pdp_types.h index 32ab03f..59fc0d2 100644 --- a/include/pdp_types.h +++ b/include/pdp_types.h @@ -19,6 +19,7 @@ * */ +/* some typedefs and utility classes */ #ifndef PDP_TYPES_H #define PDP_TYPES_H @@ -33,4 +34,62 @@ typedef unsigned short u16; typedef unsigned long u32; typedef unsigned long long u64; + +#ifndef __cplusplus +typedef int bool; +#define true 1; +#define false 0; +#endif + + +typedef struct _pdp t_pdp; +typedef void (*t_pdp_packet_method1)(t_pdp *); /* dst */ +typedef void (*t_pdp_packet_method2)(t_pdp *, t_pdp *); /* dst, src */ + + +/* + The pdp symbol type manages the pdp name space. It maps + gives a symbol to something in a certain name space: + + * packet classes + * forth words + * processor instances + * type description lists (for accelerating type matching) + + symbols have an infinite lifespan, so this is also true + for things attached to it. + +*/ + +/* the pdp symbol type */ +typedef struct _pdp_symbol +{ + /* the symbol name */ + char *s_name; + + /* the items this symbol is associated to in different namespaces */ + struct _pdp_forthword_spec *s_word_spec; // a forth word + struct _pdp_list *s_processor; // an atom processor object + struct _pdp_class *s_class; // packet class + struct _pdp_list *s_type; // a type description + + struct _pdp_symbol *s_next; + +} t_pdp_symbol; + +static inline void _pdp_symbol_clear_namespaces(t_pdp_symbol *s) +{ + s->s_word_spec = 0; + s->s_processor = 0; + s->s_class = 0; + s->s_type = 0; +} + + + +/* generic packet subheader */ +//typedef unsigned char t_raw[PDP_SUBHEADER_SIZE]; +typedef unsigned int t_raw; + + #endif |