36#ifndef __FREEWRL_EAI_H__
37#define __FREEWRL_EAI_H__
39#define _MULTI_THREADED
42#define EBUFFLOCK pthread_mutex_lock(&p->eaibufferlock)
43#define EBUFFUNLOCK pthread_mutex_unlock(&p->eaibufferlock)
48int EAI_GetNode(
const char *str);
49struct X3D_Node *EAI_GetViewpoint(
const char *str);
50void EAI_killBindables (
void);
53void EAIListener (
void);
55unsigned int EAI_SendEvent (
char *ptr);
56void EAI_RNewW(
char *bufptr);
57void EAI_RW(
char *bufptr);
60void Parser_deleteParserForScanStringValueToMem(
void);
61void Parser_scanStringValueToMem(
struct X3D_Node *node,
size_t coffset,
int ctype,
char *value,
int isXML);
63void Parser_scanStringValueToMem_C(
void *node,
int ctype,
char *value,
int isXML);
66int returnRoutingElementLength(
int);
67void createLoadURL(
char *);
68void EAI_core_commands(
void);
69void EAI_Anchor_Response(
int);
72char *eaiPrintCommand (
char command);
86#define EAI_NODETYPE_STANDARD 93435
87#define EAI_NODETYPE_PROTO 43534
88#define EAI_NODETYPE_SCRIPT 234425
92#define GETEAINODETYPE 'B'
96#define GETFIELDTYPE 'F'
97#define REGLISTENER 'G'
100#define DELETEROUTE 'J'
102#define GETVERSION 'L'
103#define GETCURSPEED 'M'
104#define GETFRAMERATE 'N'
106#define REPLACEWORLD 'P'
111#define STOPFREEWRL 'U'
112#define UNREGLISTENER 'W'
113#define GETRENDPROP 'X'
114#define GETENCODING 'Y'
115#define CREATENODE 'a'
116#define CREATEPROTO 'b'
117#define UPDNAMEDNODE 'c'
118#define REMNAMEDNODE 'd'
119#define GETPROTODECL 'e'
120#define UPDPROTODECL 'f'
121#define REMPROTODECL 'g'
122#define GETFIELDDEFS 'h'
123#define GETNODEDEFNAME 'i'
125#define GETNODETYPE 'k'
128#define GETNODEPARENTS 'p'
132#define SYSTEMROOTNODE "_Sarah_this_is_the_FreeWRL_System_Root_Node"
138#define EAI_SFBool 'b'
139#define EAI_SFColor 'c'
140#define EAI_SFFloat 'd'
141#define EAI_SFTime 'e'
142#define EAI_SFInt32 'f'
143#define EAI_SFString 'g'
144#define EAI_SFNode 'h'
145#define EAI_SFRotation 'i'
146#define EAI_SFVec2f 'j'
147#define EAI_SFImage 'k'
148#define EAI_MFColor 'l'
149#define EAI_MFFloat 'm'
150#define EAI_MFTime 'n'
151#define EAI_MFInt32 'o'
152#define EAI_MFString 'p'
153#define EAI_MFNode 'q'
154#define EAI_MFRotation 'r'
155#define EAI_MFVec2f 's'
156#define EAI_MFVec3f 't'
157#define EAI_SFVec3f 'u'
158#define EAI_MFColorRGBA 'v'
159#define EAI_SFColorRGBA 'w'
160#define EAI_MFBool 'x'
161#define EAI_FreeWRLPTR 'y'
162#define EAI_FreeWRLThread 'z'
163#define EAI_MFVec3d 'A'
164#define EAI_SFVec2d 'B'
165#define EAI_SFVec3d 'C'
166#define EAI_MFVec2d 'D'
167#define EAI_SFVec4d 'E'
168#define EAI_MFDouble 'F'
169#define EAI_SFDouble 'G'
170#define EAI_SFMatrix3f 'H'
171#define EAI_MFMatrix3f 'I'
172#define EAI_SFMatrix3d 'J'
173#define EAI_MFMatrix3d 'K'
174#define EAI_SFMatrix4f 'L'
175#define EAI_MFMatrix4f 'M'
176#define EAI_SFMatrix4d 'N'
177#define EAI_MFMatrix4d 'O'
178#define EAI_SFVec4f 'P'
179#define EAI_MFVec4f 'Q'
180#define EAI_MFVec4d 'R'
184extern int E_SOCK_bufsize;
185extern int E_SOCK_bufcount;
186#define EAIREADSIZE 8192