00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __GDSL_NODE_H_
00026 #define __GDSL_NODE_H_
00027
00028
00029 #include "gdsl_types.h"
00030
00031
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036
00037
00049 typedef struct _gdsl_node* _gdsl_node_t;
00050
00051
00052
00053
00054
00066 extern _gdsl_node_t
00067 _gdsl_node_alloc (void);
00068
00079 extern gdsl_element_t
00080 _gdsl_node_free (_gdsl_node_t NODE
00081 );
00082
00083
00084
00085
00086
00098 extern _gdsl_node_t
00099 _gdsl_node_get_succ (const _gdsl_node_t NODE
00100 );
00101
00113 extern _gdsl_node_t
00114 _gdsl_node_get_pred (const _gdsl_node_t NODE
00115 );
00116
00126 extern gdsl_element_t
00127 _gdsl_node_get_content (const _gdsl_node_t NODE
00128 );
00129
00130
00131
00132
00133
00145 extern void
00146 _gdsl_node_set_succ (_gdsl_node_t NODE,
00147 const _gdsl_node_t SUCC
00148 );
00149
00161 extern void
00162 _gdsl_node_set_pred (_gdsl_node_t NODE,
00163 const _gdsl_node_t PRED
00164 );
00165
00177 extern void
00178 _gdsl_node_set_content (_gdsl_node_t NODE,
00179 const gdsl_element_t CONTENT
00180 );
00181
00194 extern void
00195 _gdsl_node_link (_gdsl_node_t NODE1,
00196 _gdsl_node_t NODE2
00197 );
00198
00211 extern void
00212 _gdsl_node_unlink (_gdsl_node_t NODE1,
00213 _gdsl_node_t NODE2
00214 );
00215
00216
00217
00218
00219
00236 extern void
00237 _gdsl_node_write (const _gdsl_node_t NODE,
00238 const gdsl_write_func_t WRITE_F,
00239 FILE* OUTPUT_FILE,
00240 void* USER_DATA
00241 );
00242
00261 extern void
00262 _gdsl_node_write_xml (const _gdsl_node_t NODE,
00263 const gdsl_write_func_t WRITE_F,
00264 FILE* OUTPUT_FILE,
00265 void* USER_DATA
00266 );
00267
00285 extern void
00286 _gdsl_node_dump (const _gdsl_node_t NODE,
00287 const gdsl_write_func_t WRITE_F,
00288 FILE* OUTPUT_FILE,
00289 void* USER_DATA
00290 );
00291
00292
00293
00294
00295
00296
00297 #ifdef __cplusplus
00298 }
00299 #endif
00300
00301
00302 #endif
00303