~ubuntu-branches/ubuntu/intrepid/blender/intrepid-updates

« back to all changes in this revision

Viewing changes to extern/verse/dist/v_cmd_def_s.c

  • Committer: Bazaar Package Importer
  • Author(s): Cyril Brulebois
  • Date: 2008-08-08 02:45:40 UTC
  • mfrom: (12.1.14 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080808024540-kkjp7ekfivzhuw3l
Tags: 2.46+dfsg-4
* Fix python syntax warning in import_dxf.py, which led to nasty output
  in installation/upgrade logs during byte-compilation, using a patch
  provided by the script author (Closes: #492280):
   - debian/patches/45_fix_python_syntax_warning

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include <stdlib.h>
 
3
#include <stdio.h>
 
4
#include "verse_header.h"
 
5
#include "v_cmd_gen.h"
 
6
#include "v_cmd_buf.h"
 
7
 
 
8
#if defined(V_GENERATE_FUNC_MODE)
 
9
 
 
10
void v_gen_system_cmd_def(void)
 
11
{
 
12
        v_cg_new_manual_cmd(0, "connect", "VSession verse_send_connect(const char *name, const char *pass, const char *address, const uint8 *expected_host_id)", NULL, NULL);
 
13
 
 
14
        v_cg_new_manual_cmd(1, "connect_accept", "VSession verse_send_connect_accept(VNodeID avatar, const char *address, uint8 *host_id)", NULL, NULL);
 
15
 
 
16
        v_cg_new_manual_cmd(2, "connect_terminate", "void verse_send_connect_terminate(const char *address, const char *bye)", NULL, NULL);
 
17
        
 
18
        v_cg_new_manual_cmd(5, "ping", "void verse_send_ping(const char *address, const char *message)", NULL, NULL);
 
19
 
 
20
        v_cg_new_cmd(V_NT_SYSTEM,               "error_message", 6, VCGCT_UNIQUE);
 
21
        v_cg_add_param(VCGP_LONG_NAME, "message");
 
22
 
 
23
        v_cg_new_cmd(V_NT_SYSTEM,               "packet_ack", 7, VCGCT_INVISIBLE_SYSTEM);
 
24
        v_cg_add_param(VCGP_UINT32,             "packet_id");
 
25
        v_cg_add_param(VCGP_PACK_INLINE, "\tv_cmd_buf_set_unique_address_size(head, buffer_pos);\n"
 
26
        "\tv_cmd_buf_set_size(head, buffer_pos);\n"
 
27
        "\tv_noq_send_ack_nak_buf(v_con_get_network_queue(), head);\n"
 
28
        "\treturn;\n");
 
29
        v_cg_end_cmd();
 
30
 
 
31
        v_cg_new_cmd(V_NT_SYSTEM,               "packet_nak", 8, VCGCT_INVISIBLE_SYSTEM);
 
32
        v_cg_add_param(VCGP_UINT32,             "packet_id");
 
33
        v_cg_add_param(VCGP_PACK_INLINE, "\tv_cmd_buf_set_unique_address_size(head, buffer_pos);\n"
 
34
        "\tv_cmd_buf_set_size(head, buffer_pos);\n"
 
35
        "\tv_noq_send_ack_nak_buf(v_con_get_network_queue(), head);\n"
 
36
        "\treturn;\n");
 
37
        v_cg_end_cmd();
 
38
 
 
39
 
 
40
        v_cg_new_cmd(V_NT_SYSTEM,               "node_index_subscribe", 9, VCGCT_NORMAL);
 
41
        v_cg_add_param(VCGP_UINT32,             "mask");
 
42
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
43
        v_cg_end_cmd();
 
44
 
 
45
        v_cg_new_cmd(V_NT_SYSTEM,               "node_create", 10, VCGCT_NORMAL);
 
46
        v_cg_add_param(VCGP_NODE_ID,    "node_id");
 
47
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
48
        v_cg_add_param(VCGP_ENUM_NAME,  "VNodeType");
 
49
        v_cg_add_param(VCGP_ENUM,               "type");
 
50
        v_cg_add_param(VCGP_ENUM_NAME,  "VNodeOwner");
 
51
        v_cg_add_param(VCGP_ENUM,               "owner");
 
52
        v_cg_alias(FALSE, "node_destroy", "if(owner == (uint8) ~0u || type >= V_NT_NUM_TYPES)", 1, NULL);
 
53
        v_cg_end_cmd();
 
54
 
 
55
        v_cg_new_cmd(V_NT_SYSTEM,               "node_subscribe", 11, VCGCT_NORMAL);
 
56
        v_cg_add_param(VCGP_NODE_ID,    "node_id");
 
57
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
58
        v_cg_alias(TRUE, "node_unsubscribe", NULL, 1, NULL);
 
59
        v_cg_end_cmd();
 
60
 
 
61
        v_cg_new_cmd(V_NT_SYSTEM,               "tag_group_create", 16, VCGCT_NORMAL);
 
62
        v_cg_add_param(VCGP_NODE_ID,    "node_id");
 
63
        v_cg_add_param(VCGP_UINT16,             "group_id");
 
64
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
65
        v_cg_add_param(VCGP_NAME,               "name");
 
66
        v_cg_alias(FALSE, "tag_group_destroy", "if(name[0] == 0)", 2, NULL);
 
67
        v_cg_end_cmd();
 
68
 
 
69
        v_cg_new_cmd(V_NT_SYSTEM,               "tag_group_subscribe", 17, VCGCT_NORMAL);
 
70
        v_cg_add_param(VCGP_NODE_ID,    "node_id");
 
71
        v_cg_add_param(VCGP_UINT16,             "group_id");
 
72
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
73
        v_cg_alias(TRUE, "tag_group_unsubscribe", NULL, 2, NULL);
 
74
        v_cg_end_cmd();
 
75
 
 
76
        v_cg_new_cmd(V_NT_SYSTEM,               "tag_create", 18, VCGCT_NORMAL);
 
77
        v_cg_add_param(VCGP_NODE_ID,    "node_id");
 
78
        v_cg_add_param(VCGP_UINT16,             "group_id");
 
79
        v_cg_add_param(VCGP_UINT16,             "tag_id");
 
80
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
81
        v_cg_add_param(VCGP_NAME,               "name");
 
82
        v_cg_add_param(VCGP_ENUM_NAME,  "VNTagType");
 
83
        v_cg_add_param(VCGP_ENUM,               "type");
 
84
        v_cg_add_param(VCGP_POINTER_TYPE, "VNTag");
 
85
        v_cg_add_param(VCGP_POINTER,    "tag"); 
 
86
        v_cg_add_param(VCGP_PACK_INLINE, "\tif(type > VN_TAG_BLOB)\n"
 
87
        "\t{\n"
 
88
        "\t\tv_cmd_buf_free(head);\n"
 
89
        "\t\treturn;\n"
 
90
        "\t}\n"
 
91
        "\tswitch(type)\n"
 
92
        "\t{\n"
 
93
        "\t\tcase VN_TAG_BOOLEAN :\n"
 
94
        "\t\t\tbuffer_pos += vnp_raw_pack_uint8(&buf[buffer_pos], ((VNTag *)tag)->vboolean);\n"
 
95
        "\t\tbreak;\n"
 
96
        "\t\tcase VN_TAG_UINT32 :\n"
 
97
        "\t\t\tbuffer_pos += vnp_raw_pack_uint32(&buf[buffer_pos], ((VNTag *)tag)->vuint32);\n"
 
98
        "\t\tbreak;\n"
 
99
        "\t\tcase VN_TAG_REAL64 :\n"
 
100
        "\t\t\tbuffer_pos += vnp_raw_pack_real64(&buf[buffer_pos], ((VNTag *)tag)->vreal64);\n"
 
101
        "\t\tbreak;\n"
 
102
        "\t\tcase VN_TAG_STRING :\n"
 
103
        "\t\t{\n"
 
104
        "\t\t\tunsigned int i;\n"
 
105
        "\t\t\tfor(i = 0; ((VNTag *)tag)->vstring[i] != 0 && i < VN_TAG_MAX_BLOB_SIZE; i++)\n"
 
106
        "\t\t\t\tbuffer_pos += vnp_raw_pack_uint8(&buf[buffer_pos], ((VNTag *)tag)->vstring[i]);\n"
 
107
        "\t\t\tbuffer_pos += vnp_raw_pack_uint8(&buf[buffer_pos], 0);\n"
 
108
        "\t\t}\n"
 
109
        "\t\tbreak;\n"
 
110
        "\t\tcase VN_TAG_REAL64_VEC3 :\n"
 
111
        "\t\t{\n"
 
112
        "\t\t\tbuffer_pos += vnp_raw_pack_real64(&buf[buffer_pos], ((VNTag *)tag)->vreal64_vec3[0]);\n"
 
113
        "\t\t\tbuffer_pos += vnp_raw_pack_real64(&buf[buffer_pos], ((VNTag *)tag)->vreal64_vec3[1]);\n"
 
114
        "\t\t\tbuffer_pos += vnp_raw_pack_real64(&buf[buffer_pos], ((VNTag *)tag)->vreal64_vec3[2]);\n"
 
115
        "\t\t}\n"
 
116
        "\t\tbreak;\n"
 
117
        "\t\tcase VN_TAG_LINK :\n"
 
118
        "\t\t{\n"
 
119
        "\t\t\tbuffer_pos += vnp_raw_pack_uint32(&buf[buffer_pos], ((VNTag *)tag)->vlink);\n"
 
120
        "\t\t}\n"
 
121
        "\t\tbreak;\n"
 
122
        "\t\tcase VN_TAG_ANIMATION :\n"
 
123
        "\t\t{\n"
 
124
        "\t\t\tbuffer_pos += vnp_raw_pack_uint32(&buf[buffer_pos], ((VNTag *)tag)->vanimation.curve);\n"
 
125
        "\t\t\tbuffer_pos += vnp_raw_pack_uint32(&buf[buffer_pos], ((VNTag *)tag)->vanimation.start);\n"
 
126
        "\t\t\tbuffer_pos += vnp_raw_pack_uint32(&buf[buffer_pos], ((VNTag *)tag)->vanimation.end);\n"
 
127
        "\t\t}\n"
 
128
        "\t\tbreak;\n"
 
129
        "\t\tcase VN_TAG_BLOB :\n"
 
130
        "\t\t{\n"
 
131
        "\t\t\tunsigned int i;\n"
 
132
        "\t\t\tif(((VNTag *)tag)->vblob.size > VN_TAG_MAX_BLOB_SIZE)\n"
 
133
        "\t\t\t\t((VNTag *)tag)->vblob.size = VN_TAG_MAX_BLOB_SIZE;\n"
 
134
        "\t\t\tbuffer_pos += vnp_raw_pack_uint16(&buf[buffer_pos], ((VNTag *)tag)->vblob.size);\n"
 
135
        "\t\t\tfor(i = 0; i < ((VNTag *)tag)->vblob.size; i++)\n"
 
136
        "\t\t\t\tbuffer_pos += vnp_raw_pack_uint8(&buf[buffer_pos], ((uint8 *)((VNTag *)tag)->vblob.blob)[i]);\n"
 
137
        "\t\t}\n"
 
138
        "\t\tbreak;\n"
 
139
        "\t\tdefault :\n"
 
140
        "\t\t\t;\n"
 
141
        "\t}\n");
 
142
        v_cg_add_param(VCGP_UNPACK_INLINE, "\tif(type < VN_TAG_TYPE_COUNT)\n"
 
143
        "\t{\n"
 
144
        "\t\tVNTag tag;\n"
 
145
        "\t\tunsigned int i;\n"
 
146
        "\t\tchar string[VN_TAG_MAX_BLOB_SIZE];\n"
 
147
        "\t\tswitch(type)\n"
 
148
        "\t\t{\n"
 
149
        "\t\t\tcase VN_TAG_BOOLEAN :\n"
 
150
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint8(&buf[buffer_pos], &tag.vboolean);\n"
 
151
        "\t\t\tbreak;\n"
 
152
        "\t\t\tcase VN_TAG_UINT32 :\n"
 
153
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint32(&buf[buffer_pos], &tag.vuint32);\n"
 
154
        "\t\t\tbreak;\n"
 
155
        "\t\t\tcase VN_TAG_REAL64 :\n"
 
156
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_real64(&buf[buffer_pos], &tag.vreal64);\n"
 
157
        "\t\t\tbreak;\n"
 
158
        "\t\t\tcase VN_TAG_STRING :\n"
 
159
        "\t\t\t{\n"
 
160
        "\t\t\t\ttag.vstring = string;\n"
 
161
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_string(&buf[buffer_pos], string, VN_TAG_MAX_BLOB_SIZE, buffer_length - buffer_pos);\n"
 
162
        "\t\t\t}\n"
 
163
        "\t\t\tbreak;\n"
 
164
        "\t\t\tcase VN_TAG_REAL64_VEC3 :\n"
 
165
        "\t\t\t{\n"
 
166
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_real64(&buf[buffer_pos], &tag.vreal64_vec3[0]);\n"
 
167
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_real64(&buf[buffer_pos], &tag.vreal64_vec3[1]);\n"
 
168
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_real64(&buf[buffer_pos], &tag.vreal64_vec3[2]);\n"
 
169
        "\t\t\t}\n"
 
170
        "\t\t\tbreak;\n"
 
171
        "\t\t\tcase VN_TAG_LINK :\n"
 
172
        "\t\t\t{\n"
 
173
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint32(&buf[buffer_pos], &tag.vlink);\n"
 
174
        "\t\t\t}\n"
 
175
        "\t\t\tbreak;\n"
 
176
        "\t\t\tcase VN_TAG_ANIMATION :\n"
 
177
        "\t\t\t{\n"
 
178
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint32(&buf[buffer_pos], &tag.vanimation.curve);\n"
 
179
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint32(&buf[buffer_pos], &tag.vanimation.start);\n"
 
180
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint32(&buf[buffer_pos], &tag.vanimation.end);\n"
 
181
        "\t\t\t}\n"
 
182
        "\t\t\tbreak;\n"
 
183
        "\t\t\tcase VN_TAG_BLOB :\n"
 
184
        "\t\t\t{\n"
 
185
        "\t\t\t\tbuffer_pos += vnp_raw_unpack_uint16(&buf[buffer_pos], &tag.vblob.size);\n"
 
186
        "\t\t\t\tif(tag.vblob.size > VN_TAG_MAX_BLOB_SIZE)\n"
 
187
        "\t\t\t\t\ttag.vblob.size = VN_TAG_MAX_BLOB_SIZE;\n"
 
188
        "\t\t\t\ttag.vblob.blob = string;\n"
 
189
        "\t\t\t\tfor(i = 0; i < tag.vblob.size; i++)\n"
 
190
        "\t\t\t\t\tbuffer_pos += vnp_raw_unpack_uint8(&buf[buffer_pos], &string[i]);\n"
 
191
        "\t\t\t}\n"
 
192
        "\t\t\tbreak;\n"
 
193
        "\t\tdefault :\n"
 
194
        "\t\t\t;\n"
 
195
        "\t\t}\n"
 
196
        "\t\tif(func_tag_create != NULL)\n"
 
197
        "\t\tfunc_tag_create(v_fs_get_user_data(18), node_id, group_id, tag_id, name, type, &tag);\n"
 
198
        "\t\treturn buffer_pos;\n"
 
199
        "\t}\n");
 
200
        v_cg_alias(FALSE, "tag_destroy", "if(type >= VN_TAG_TYPE_COUNT)", 3, NULL);
 
201
        v_cg_end_cmd();
 
202
 
 
203
        v_cg_new_cmd(V_NT_SYSTEM,               "node_name_set", 19, VCGCT_NORMAL); 
 
204
        v_cg_add_param(VCGP_NODE_ID,    "node_id");
 
205
        v_cg_add_param(VCGP_END_ADDRESS, NULL);
 
206
        v_cg_add_param(VCGP_LONG_NAME,  "name");
 
207
 
 
208
        v_cg_end_cmd();
 
209
}
 
210
 
 
211
#endif