- unsigned long int size[gras_arch_count];
-
- unsigned long int alignment[gras_arch_count];
- unsigned long int aligned_size[gras_arch_count];
-
- enum e_gras_datadesc_type_category category_code;
- union u_gras_datadesc_category category;
-
- gras_datadesc_type_cb_void_t send;
- gras_datadesc_type_cb_void_t recv;
-
- int cycle; /* true if the datatype may contain cycle */
+ long int size[gras_arch_count]; /* Cannot be unsigned: -1 means dynamic */
+
+ unsigned long int alignment[gras_arch_count];
+ unsigned long int aligned_size[gras_arch_count];
+
+ enum e_gras_datadesc_type_category category_code;
+ union u_gras_datadesc_category category;
+
+ gras_datadesc_type_cb_void_t send;
+ gras_datadesc_type_cb_void_t recv;
+
+ /* flags */
+ int cycle:1;
+
+ /* random value for users (like default value or whatever) */
+ char extra[SIZEOF_MAX];
+