Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

protocol.h

Go to the documentation of this file.
00001 /*
00002 changes:
00003     added ODB packet types, xandi, 250300
00004     added CCP packet types, xandi, 270300
00005     added MCP packet types, xandi, 270300
00006 */
00007 
00008 #ifndef PROTOCOL_H
00009 #define PROTOCOL_H
00010 
00011 #include <string>
00012 #include <sys/time.h>
00013 
00014 #define MAX_PACKET_HEADER 5
00015 
00017 struct packet_header {
00018     int     from; 
00019     int     to; 
00020     timeval TimeStamp; 
00021     int     header[MAX_PACKET_HEADER]; 
00022     int     length; 
00023 };
00024 
00026 typedef struct packet {
00027     packet_header h; 
00028     string        data; 
00029 //    void erase ( void );
00030 };
00031 
00032 /*
00033 void packet::erase()
00034     {
00035     //memset ( h, 0x00, sizeof(h) );
00036     data.erase();
00037     }
00038 */
00039 // packet->header[0] =
00040 
00041 
00042 //<TEMPORARY>
00043 #define CLIENT_CORE                 1       
00044 #define CLIENT_OUTPUT               2       
00045 //</TEMPORARY>
00046 
00047 
00048 #define PROT_HANDSHAKE              1       
00049 #define PROT_AUTHENTICATE           2       
00050 #define PROT_REQUEST_MATRIX         3       
00051 #define PROT_KILL_CLIENT            254     
00052 
00053 
00054 #define PROT_MATRIX_STUFF           4       
00055 #define PROT_MATRIX_STUFF_REPLY     5       
00056 
00057 #define PROT_REGISTER_ENTITY        6       
00058 #define PROT_REGISTER_ENTITY_REPLY  7       
00059 
00060 #define PROT_ADD_OBJECT             8       
00061 #define PROT_ADD_OBJECT_REPLY       9       
00062 
00063 #define PROT_GET_ALL_OBJECTS_REPLY  10      
00064 #define PROT_GET_ALL_ATOMS_REPLY    11      
00065 #define PROT_GET_OBJECT_REPLY       12      
00066 #define PROT_GET_ATOM_REPLY         13      
00067 
00068 #define PROT_GET_ALL_CHANGED        14      
00069 
00070 #define PROT_GET_OBJECT             15      
00071 #define PROT_REQUEST_REPLY          16      
00072 #define PROT_ACCESS_MATRIX          17      
00073 #define PROT_MATRIX_ACCESS_REPLY    18      
00074 #define PROT_RECEIVE_OBJECT         19      
00075 #define PROT_RECEIVE_ATOM           20      
00076 
00077 
00078 
00079 
00080 #define PROT_OUTPUT_VISUAL          29      
00081 #define PROT_OUTPUT_DUMMY           666     
00082 
00083 #define PROT_INPUT_MOVE             30      
00084 #define PROT_INPUT_ROTATE           31      
00085 #define PROT_INPUT_SPIN             32      
00086 #define PROT_INPUT_SPEED            33      
00087 
00088 #define PROT_SEND_MSG               40      
00089 
00090 #define PROT_CHANGE_POSITION        41      
00091 #define PROT_AVATAR_HULL            42      
00092 
00093 #define PROT_CHAT_MSG               43      
00094 #define PROT_TEXT_MSG               44      
00095 #define PROT_TURN_AVATAR_OFF        45      
00096 
00097 
00098 #define INPUT_FORWARD               2       
00099 #define INPUT_BACKWARD              3       
00100 #define INPUT_SPIN_UP               4       
00101 #define INPUT_SPIN_DOWN             5       
00102 #define INPUT_ROTATE_X              6       
00103 #define INPUT_ROTATE_Y              7       
00104 #define INPUT_ROTATE_Z              8       
00105 
00106 #define VISUAL_CAMERA_MOVE          1       
00107 #define VISUAL_CAMERA_LOOKTO        2       
00108 #define VISUAL_NEW_OBJECT           3       
00109 #define VISUAL_NEW_ATOM             4       
00110 #define VISUAL_MY_OBJECT            5       
00111 #define VISUAL_TURN_AVATAR_OFF      6       
00112 
00113 //Object DataBase Packets
00114 #define ODB_ADD_OBJECT          1           
00115 #define ODB_ADD_ATOM            2           
00116 #define ODB_INSERT_ATOM         3           
00117 
00118 #define ODB_GET_ALL_CHANGED     4           
00119 //#define ODB_GET_ALL_ATOMS       5
00120 #define ODB_GET_OBJECT          6           
00121 #define ODB_GET_ATOM            7           
00122 
00123 #define ODB_CHANGE_ATOM         8           
00124 
00125 #define ODB_ADD_REASON          9           
00126 #define ODB_REMOVE_REASON       10          
00127 
00128 
00129 /*
00130 #define ODB_CHANGE_OBJECT
00131 #define ODB_REMOVE_OBJECT
00132 #define ODB_REMOVE_ATOM
00133 */
00134 
00135 
00136 
00137 #define ODB_TYPE_LONG           1           
00138 #define ODB_TYPE_STRING         2           
00139 #define ODB_TYPE_3DPOINT        3           
00140 #define ODB_TYPE_BINARY         4           
00141 
00142 //AtomType
00143 
00144 #define AT_USERNAME             1           
00145 #define AT_SOCKET               2           
00146 #define AT_NETADDRESS           3           
00147 #define AT_POSITION             4           
00148 #define AT_ENTITYTYPE           5           
00149 #define AT_3DSIAGRAPH           6           
00150 //...
00151 #define AT_SURNAME              20          
00152 #define AT_FIRSTNAME            21          
00153 #define AT_REALADDRESS          22          
00154 #define AT_CHATMSG              23          
00155 
00156 #define RT_E_PARENT_O           1           
00157 #define RT_E_HOLDING_O          2           
00158 #define RT_O_PARTOF_E           3           
00159 #define RT_O_PARENT_O           4           
00160 #define RT_O_ATTACHED_O         5           
00161 
00162 //CLT CLass Types (for ODB)
00163 #define CLT_OBJECT              1           
00164 #define CLT_ENTITY              2           
00165 
00166 
00167 /* OBSOLETE!!!!!!!!!!!!
00168 //CoreCommunicationPacket (anyone has a better name for that?)
00169 #define CCP_ACCESS_MATRIX       1
00170 #define CCP_MCP_ACCESS_REPLY    3
00171 #define CCP_GET_EVERYTHING      6
00172 #define CCP_ADD_OBJECT          7
00173 #define CCP_ADD_OBJECT_REPLY    8
00174 #define CCP_GET_OBJECT          9
00175 #define CCP_GET_CONTENT         10
00176 #define CCP_SEND_MSG            11
00177 #define CCP_INITAL_CALL         12
00178 #define CCP_FINAL_CALL          13
00179 #define CCP_REGISTER_ENTITY     14
00180 
00181 #define CCP_ADD_REG_ATOM        15
00182 #define CCP_ACCESS_REPLY        16
00183 
00184 #define CCP_WANT_REPLY          123
00185 
00186 // and so forth... :)
00187 */
00188 
00189 //MatrixControlPacket
00190 #define MCP_ACCESS_MATRIX       1           
00191 
00192 
00193 // packet->header[0] = PROT_HANDSHAKE
00194 // packet->header[1] =
00195 
00196 #define HANDSHAKE_GREETING    1             
00197 
00198 
00199 // packet->header[0] = PROT_AUTHENTICATE
00200 // packet->header[1] =
00201 
00202 #define AUTH_PASSWORD 1                     
00203 
00204 
00205 // packet->header[0] = PROT_REQUEST_MATRIX
00206 // packet->header[1] =
00207 
00208 #define R_MATRIX_ADDRESS      1             
00209 #define R_MATRIX_INVENTORY    2             
00210 #define R_MATRIX_ACTION       3             
00211 
00212 // packet->header[0] = PROT_REQUEST_MATRIX
00213 // packet->header[1] = R_MATRIX_INVENTORY
00214 // packet->header[2] =
00215 
00216 #define R_M_INVENTORY_SYNC    1             
00217 
00218 // packet->header[0] = PROT_REQUEST_MATRIX
00219 // packet->header[1] = R_MATRIX_ACTION
00220 // packet->header[2] =
00221 
00222 #define R_M_ACTION_MOVE       1             
00223 #define R_M_ACTION_COPY       2             
00224 #define R_M_ACTION_DELETE     3             
00225 
00226 #endif

Generated at Sat May 13 13:50:22 2000 for 3Dsia by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000