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)
48 int EAI_GetNode(
const char *str);
49 struct X3D_Node *EAI_GetViewpoint(
const char *str);
50 void EAI_killBindables (
void);
53 void EAIListener (
void);
55 unsigned int EAI_SendEvent (
char *ptr);
56 void EAI_RNewW(
char *bufptr);
57 void EAI_RW(
char *bufptr);
60 void Parser_deleteParserForScanStringValueToMem(
void);
61 void Parser_scanStringValueToMem(
struct X3D_Node *node,
size_t coffset,
int ctype,
char *value,
int isXML);
63 void Parser_scanStringValueToMem_C(
void *node,
int ctype,
char *value,
int isXML);
66 int returnRoutingElementLength(
int);
67 void createLoadURL(
char *);
68 void EAI_core_commands(
void);
69 void EAI_Anchor_Response(
int);
72 char *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'
108 #define VIEWPOINT 'R'
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'
124 #define GETROUTES 'j'
125 #define GETNODETYPE 'k'
126 #define DUMPSCENE 'n'
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'
184 extern int E_SOCK_bufsize;
185 extern int E_SOCK_bufcount;
186 #define EAIREADSIZE 8192