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_SFFloat 'a'
139#define EAI_MFFloat 'b'
140#define EAI_SFBool 'c'
141#define EAI_MFBool 'd'
142#define EAI_SFInt32 'e'
143#define EAI_MFInt32 'f'
144#define EAI_SFTime 'g'
145#define EAI_MFTime 'h'
146#define EAI_SFDouble 'i'
147#define EAI_MFDouble 'j'
148#define EAI_SFNode 'k'
149#define EAI_MFNode 'l'
150#define EAI_SFColor 'm'
151#define EAI_MFColor 'n'
152#define EAI_SFColorRGBA 'o'
153#define EAI_MFColorRGBA 'p'
154#define EAI_SFRotation 'q'
155#define EAI_MFRotation 'r'
156#define EAI_SFVec2f 's'
157#define EAI_MFVec2f 't'
158#define EAI_SFVec3f 'u'
159#define EAI_MFVec3f 'v'
160#define EAI_SFVec4f 'x'
161#define EAI_MFVec4f 'y'
162#define EAI_SFVec2d 'z'
163#define EAI_MFVec2d 'A'
164#define EAI_SFVec3d 'B'
165#define EAI_MFVec3d 'C'
166#define EAI_SFVec4d 'D'
167#define EAI_MFVec4d 'E'
168#define EAI_SFString 'F'
169#define EAI_MFString 'G'
170#define EAI_SFImage 'H'
171#define EAI_MFImage 'I'
172#define EAI_SFMatrix3f 'J'
173#define EAI_MFMatrix3f 'K'
174#define EAI_SFMatrix4f 'L'
175#define EAI_MFMatrix4f 'M'
176#define EAI_SFMatrix3d 'N'
177#define EAI_MFMatrix3d 'O'
178#define EAI_SFMatrix4d 'P'
179#define EAI_MFMatrix4d 'Q'
180#define EAI_FreeWRLPTR 'R'
181#define EAI_FreeWRLThread 'S'
185extern int E_SOCK_bufsize;
186extern int E_SOCK_bufcount;
187#define EAIREADSIZE 8192