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 typedef struct pointer_to_static_array { 226 int (*int_array)[4][4]; 227 } *pointer_to_static_array_ptr; 228 229 extern int calc_signature(node_ptr n, visit_table v); 230 231 typedef struct _cp_init_info { 232 char *contact_info; 233 int target_stone; 234 void *reader_ID; 235 } *cp_init_info; 236 237 struct _reader_register_msg { 238 void *writer_file; 239 int writer_response_condition; 240 int reader_cohort_size; 241 cp_init_info *CP_reader_info; 242 }; 243 244 extern FMField cp_reader_init_list[]; 245 extern FMField cp_reader_register_list[]; 246 extern FMStructDescRec reader_register_format_list[]; 247 248 extern FMField field_list[]; 249 extern FMField newer_field_list[]; 250 extern FMField field_list2[]; 251 extern FMField field_list3[]; 252 extern FMField field_list4[]; 253 extern FMField embedded_field_list[]; 254 extern FMField field_list5[]; 255 extern FMField later_field_list[]; 256 extern FMField later_field_list2[]; 257 extern FMField nested_field_list[]; 258 extern FMField field_list6[]; 259 extern FMField event_vec_elem_fields[]; 260 extern FMField field_list9[]; 261 extern FMField string_array_field_list[]; 262 extern FMField derive_msg_field_list[]; 263 extern FMField format_list_field_list[]; 264 extern FMField field_list_flds[]; 265 extern FMField channel_id_flds[]; 266 extern FMField multi_array_flds[]; 267 extern FMField compressed_mesh[]; 268 extern FMField triangle_field[]; 269 extern FMField xml_format_list_flds[]; 270 extern FMField add_field_list[]; 271 extern FMField node_field_list[]; 272 extern FMField pointer_to_static_field_list[]; 273 274 extern FMStructDescRec first_format_list[]; 275 extern FMStructDescRec string_format_list[]; 276 extern FMStructDescRec structured_format_list[]; 277 extern FMStructDescRec two_string_format_list[]; 278 extern FMStructDescRec fourth_format_list[]; 279 extern FMStructDescRec later_format_list[]; 280 extern FMStructDescRec nested_format_list[]; 281 extern FMStructDescRec embedded_format_list[]; 282 extern FMStructDescRec variant_format_list[]; 283 extern FMStructDescRec ninth_format_list[]; 284 extern FMStructDescRec string_array_format_list[]; 285 extern FMStructDescRec derive_format_list[]; 286 extern FMStructDescRec multi_array_format_list[]; 287 extern FMStructDescRec triangle_format_list[]; 288 extern FMStructDescRec add_action_format_list[]; 289 extern FMStructDescRec node_format_list []; 290 extern FMStructDescRec pointer_to_static_format_list []; 291 292 extern void init_written_data(); 293 extern void free_written_data(); 294 295 extern char *comment_array[]; 296 297 extern first_rec rec1_array[13]; 298 extern int rec1_attr_val[13]; 299 300 extern second_rec rec2_array[4]; 301 extern int rec2_attr_val[4]; 302 303 extern third_rec rec3_array[5]; 304 extern int rec3_attr_val[5]; 305 306 extern fourth_rec rec4; 307 308 extern fifth_rec rec5; 309 extern int rec5_attr_val; 310 311 extern sixth_rec rec6_array[4]; 312 313 extern nested_rec rec7_array[1]; 314 315 extern later_rec rec8_array[3]; 316 317 extern ninth_rec rec9_array[6]; 318 319 extern string_array_rec string_array_array[6]; 320 321 extern DeriveMsg derive; 322 323 extern multi_array_rec multi_array; 324 325 extern multi_array_rec2 multi_array2; 326 327 extern multi_array_rec fortran_array; 328 329 extern triangle_param triangle; 330 331 extern add_rec add_action_record; 332 333 extern struct pointer_to_static_array psa; 334 335 extern struct _reader_register_msg reader_register; 336 337 extern int first_rec_eq(first_rec *r1, first_rec *r2); 338 extern int second_rec_eq(second_rec *r1, second_rec *r2); 339 extern int third_rec_eq(third_rec *r1, third_rec *r2); 340 extern int fourth_rec_eq(fourth_rec *r1, fourth_rec *r2); 341 extern int emb_rec_eq(embedded_rec *r1, embedded_rec *r2); 342 extern int fifth_rec_eq(fifth_rec *r1, fifth_rec *r2); 343 extern int sixth_rec_eq(sixth_rec *r1, sixth_rec *r2); 344 extern int nested_rec_eq(nested_rec *r1, nested_rec *r2); 345 extern int later_rec_eq(later_rec *r1, later_rec *r2); 346 extern int ninth_rec_eq(ninth_rec *r1, ninth_rec *r2); 347 extern int string_array_eq(string_array_rec *r1, string_array_rec *r2); 348 extern int derive_eq(DeriveMsgPtr d1, DeriveMsgPtr d2); 349 extern int multi_array_eq(multi_array_rec *r1, multi_array_rec *r2); 350 extern int triangle_param_eq(triangle_param *r1, triangle_param *r2); 351 extern int add_rec_eq(add_rec_ptr r1, add_rec_ptr r2); 352 extern int 353 pointer_to_static_rec_eq(pointer_to_static_array_ptr r1, pointer_to_static_array_ptr r2); 354 extern int 355 reader_register_rec_eq(struct _reader_register_msg *r1, struct _reader_register_msg *r2); 356 357 extern const char *first_xml; 358 extern char *string_xml; 359 extern char *third_xml; 360 extern char *fourth_xml; 361 extern char *embedded_xml; 362 extern char *struct_array_xml; 363 extern char *var_array_xml; 364 extern char *later_xml; 365 extern char *later2_xml; 366 extern char *nested_xml; 367 extern char *event_xml; 368 extern char *event_vec_xml; 369 extern char *multi_array_xml; 370