1 typedef struct _newer_rec { 2 int ganzzahl; 3 double gleitkommazahl; 4 char zeichen; 5 } newer_rec, *newer_rec_ptr; 6 7 typedef struct _first_rec { 8 int integer_field; 9 double double_field; 10 char char_field; 11 } first_rec, *first_rec_ptr; 12 13 typedef struct _second_rec { 14 int integer_field; 15 short short_field; 16 long long_field; 17 char *string; 18 double double_field; 19 char char_field; 20 } second_rec, *second_rec_ptr; 21 22 typedef enum {Red_Stripe, Paulaner, Pilsner} enum_type; 23 24 typedef struct _third_rec { 25 int integer_field; 26 long long_field; 27 unsigned int uint_field; 28 unsigned long ulong_field; 29 char *string; 30 double double_field; 31 char *string2; 32 char char_field; 33 enum_type enum_field; 34 } third_rec, *third_rec_ptr; 35 36 #define ARRAY_SIZE 14 37 38 typedef struct _fourth_rec { 39 long ifield; 40 int int_array[ARRAY_SIZE]; 41 double double_array[2][2]; 42 } fourth_rec, *fourth_rec_ptr; 43 44 typedef struct _embedded_rec { 45 short ifield; 46 char *string; 47 double dfield; 48 } embedded_rec, *embedded_rec_ptr; 49 50 typedef struct _fifth_rec { 51 embedded_rec earray[4]; 52 } fifth_rec, *fifth_rec_ptr; 53 54 typedef struct _later_rec { 55 #if SIZEOF_LONG_LONG > SIZEOF_LONG 56 long long integer_field; 57 #else 58 long integer_field; 59 #endif 60 char *string; 61 double double_field; 62 } later_rec, *later_rec_ptr; 63 64 typedef struct _later_rec2 { 65 #if SIZEOF_LONG_LONG > SIZEOF_LONG 66 long long integer_field; 67 #else 68 long integer_field; 69 #endif 70 double double_field; 71 char *string; 72 } later_rec2, *later_rec2_ptr; 73 74 typedef struct _nested_rec { 75 int integer_field; 76 second_rec nested_rec; 77 char *string; 78 } nested_rec, *nested_rec_ptr; 79 80 typedef struct _sixth_rec { 81 char *string; 82 long icount; 83 #if SIZEOF_LONG_LONG > SIZEOF_LONG 84 long long *var_int_array; 85 #else 86 long *var_int_array; 87 #endif 88 second_rec *var_string_array; 89 double dfield; 90 double *var_double_array; 91 } sixth_rec, *sixth_rec_ptr; 92 93 typedef struct _io_encode_vec { 94 void *iov_base; 95 long iov_len; 96 } *IOEncodeVector; 97 98 typedef struct _nested_variants { 99 int vec_length; 100 IOEncodeVector eventv; 101 } ninth_rec, *ninth_rec_ptr; 102 103 typedef struct _string_array { 104 int array_len; 105 char *base_string; 106 char **array; 107 } string_array_rec, *string_array_rec_ptr; 108 109 typedef struct _ptr_rec { 110 int integer_field; 111 second_rec *nested_rec; 112 char *string; 113 } ptr_rec, *ptr_rec_ptr; 114 115 typedef struct _FormatListElement { 116 char *format_name; 117 int field_list_len; 118 FMFieldList field_list; 119 } format_list_element; 120 121 typedef struct { 122 int len; 123 char *channel; 124 } channel_ID_struct; 125 126 typedef struct _DeriveMsg 127 { 128 char *chan_str; 129 int cond; 130 channel_ID_struct client_channel_id; 131 char *client_contact_str; 132 char *filter; 133 int field_list_len; 134 FMFieldList field_list; 135 int format_list_len; 136 format_list_element *format_list; 137 138 char *init_data_block; 139 int init_data_len; 140 } DeriveMsg, *DeriveMsgPtr; 141 142 typedef struct _multi_array_rec { 143 long ifield; 144 double double_array[2][2][2][2]; 145 int (*int_array)[2]; 146 int (*int_array2)[4]; 147 int (*int_array3)[4][4]; 148 } multi_array_rec, *multi_array_rec_ptr; 149 150 typedef struct _multi_array_rec2 { 151 long ifield; 152 double double_array[2][2][2][2]; 153 int (*int_array)[2][4]; 154 int (*int_array2)[4][2]; 155 int (*int_array3)[4][4][4]; 156 } multi_array_rec2, *multi_array_rec2_ptr; 157 158 159 typedef struct 160 { 161 int id; 162 int data_size; 163 int old_data_size; 164 int compressed_size; 165 int * compressed_data; 166 167 int corner1x; 168 int corner1y; 169 int corner1z; 170 int corner2x; 171 int corner2y; 172 int corner2z; 173 174 int atom_type; 175 } compressed_mesh_param, *compressed_mesh_param_ptr; 176 177 /* form pipelined server to pipelined client */ 178 typedef struct 179 { 180 int corner1x; 181 int corner1y; 182 int corner1z; 183 int corner2x; 184 int corner2y; 185 int corner2z; 186 187 int compression_type; 188 189 int codebook_size; 190 int* codebook_data; 191 192 int timestamp; 193 int nonce; 194 int num_meshes; 195 compressed_mesh_param* mesh_data; 196 } triangle_param, *triangle_param_ptr; 197 198 199 typedef struct _XMLFormatListElement { 200 char *format_name; 201 int field_list_len; 202 FMFieldList field_list; 203 char *xml_markup; 204 } msg_format_list_element; 205 206 typedef struct { 207 int action; 208 char *in_format_name; 209 char *func_str; 210 int format_count; 211 msg_format_list_element *out_formats; 212 } add_rec, *add_rec_ptr; 213 214 typedef struct node { 215 int node_num; 216 struct node *link1; 217 struct node *link2; 218 } *node_ptr; 219 220 typedef struct visit_table { 221 int node_count; 222 void *nodes[100]; 223 } *visit_table; 224 225 extern int calc_signature(node_ptr n, visit_table v); 226 227 extern FMField field_list[]; 228 extern FMField newer_field_list[]; 229 extern FMField field_list2[]; 230 extern FMField field_list3[]; 231 extern FMField field_list4[]; 232 extern FMField embedded_field_list[]; 233 extern FMField field_list5[]; 234 extern FMField later_field_list[]; 235 extern FMField later_field_list2[]; 236 extern FMField nested_field_list[]; 237 extern FMField field_list6[]; 238 extern FMField event_vec_elem_fields[]; 239 extern FMField field_list9[]; 240 extern FMField string_array_field_list[]; 241 extern FMField derive_msg_field_list[]; 242 extern FMField format_list_field_list[]; 243 extern FMField field_list_flds[]; 244 extern FMField channel_id_flds[]; 245 extern FMField multi_array_flds[]; 246 extern FMField compressed_mesh[]; 247 extern FMField triangle_field[]; 248 extern FMField xml_format_list_flds[]; 249 extern FMField add_field_list[]; 250 extern FMField node_field_list[]; 251 252 extern FMStructDescRec first_format_list[]; 253 extern FMStructDescRec string_format_list[]; 254 extern FMStructDescRec structured_format_list[]; 255 extern FMStructDescRec two_string_format_list[]; 256 extern FMStructDescRec fourth_format_list[]; 257 extern FMStructDescRec later_format_list[]; 258 extern FMStructDescRec nested_format_list[]; 259 extern FMStructDescRec embedded_format_list[]; 260 extern FMStructDescRec variant_format_list[]; 261 extern FMStructDescRec ninth_format_list[]; 262 extern FMStructDescRec string_array_format_list[]; 263 extern FMStructDescRec derive_format_list[]; 264 extern FMStructDescRec multi_array_format_list[]; 265 extern FMStructDescRec triangle_format_list[]; 266 extern FMStructDescRec add_action_format_list[]; 267 extern FMStructDescRec node_format_list []; 268 269 extern void init_written_data(); 270 extern void free_written_data(); 271 272 extern char *comment_array[]; 273 274 extern first_rec rec1_array[13]; 275 276 extern second_rec rec2_array[4]; 277 278 extern third_rec rec3_array[5]; 279 280 extern fourth_rec rec4; 281 282 extern fifth_rec rec5; 283 284 extern sixth_rec rec6_array[4]; 285 286 extern nested_rec rec7_array[1]; 287 288 extern later_rec rec8_array[3]; 289 290 extern ninth_rec rec9_array[6]; 291 292 extern string_array_rec string_array_array[6]; 293 294 extern DeriveMsg derive; 295 296 extern multi_array_rec multi_array; 297 298 extern multi_array_rec2 multi_array2; 299 300 extern multi_array_rec fortran_array; 301 302 extern triangle_param triangle; 303 304 extern add_rec add_action_record; 305 306 extern int first_rec_eq(first_rec *r1, first_rec *r2); 307 extern int second_rec_eq(second_rec *r1, second_rec *r2); 308 extern int third_rec_eq(third_rec *r1, third_rec *r2); 309 extern int fourth_rec_eq(fourth_rec *r1, fourth_rec *r2); 310 extern int emb_rec_eq(embedded_rec *r1, embedded_rec *r2); 311 extern int fifth_rec_eq(fifth_rec *r1, fifth_rec *r2); 312 extern int sixth_rec_eq(sixth_rec *r1, sixth_rec *r2); 313 extern int nested_rec_eq(nested_rec *r1, nested_rec *r2); 314 extern int later_rec_eq(later_rec *r1, later_rec *r2); 315 extern int ninth_rec_eq(ninth_rec *r1, ninth_rec *r2); 316 extern int string_array_eq(string_array_rec *r1, string_array_rec *r2); 317 extern int derive_eq(DeriveMsgPtr d1, DeriveMsgPtr d2); 318 extern int multi_array_eq(multi_array_rec *r1, multi_array_rec *r2); 319 extern int triangle_param_eq(triangle_param *r1, triangle_param *r2); 320 extern int add_rec_eq(add_rec_ptr r1, add_rec_ptr r2); 321 322 extern char *first_xml; 323 extern char *string_xml; 324 extern char *third_xml; 325 extern char *fourth_xml; 326 extern char *embedded_xml; 327 extern char *struct_array_xml; 328 extern char *var_array_xml; 329 extern char *later_xml; 330 extern char *later2_xml; 331 extern char *nested_xml; 332 extern char *event_xml; 333 extern char *event_vec_xml; 334 extern char *multi_array_xml; 335