Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add an example of nested structures here for the record
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 7 Dec 2006 22:02:52 +0000 (22:02 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 7 Dec 2006 22:02:52 +0000 (22:02 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2957 48e7efb5-ca39-0410-a469-dd3cf9ba447f

doc/gtut-tour-13-pointers.doc

index da841ea..98c8c99 100644 (file)
@@ -24,3 +24,38 @@ include 12-pointers.output
 
 
 */
+
+#define COLS 16
+#define MAX_ROUTESET 10
+#define MAX_LEAFSET COLS
+
+GRAS_DEFINE_TYPE(gras_row_t,
+struct gras_row_t {         
+  int which_row;            
+  int row[COLS][MAX_ROUTESET];
+};)
+    
+typedef struct gras_row_t gras_row_t;
+    
+GRAS_DEFINE_TYPE(gras_welcome_msg_t, 
+struct gras_welcome_msg_t {
+  int id;
+  double time_sent;
+    
+  int row_count;
+  gras_row_t *rows GRAS_ANNOTE(size,row_count);
+       
+  int leaves[MAX_LEAFSET];
+};)              
+
+void declare_ddt(void) {
+  gras_datadesc_type_t ddt;
+  
+  gras_datadesc_set_const("COLS",COLS);
+  gras_datadesc_set_const("MAX_ROUTESET",MAX_ROUTESET);
+  gras_datadesc_set_const("MAX_LEAFSET",MAX_LEAFSET);
+  
+  gras_datadesc_by_symbol(gras_row_t); /* Parse it before */
+  ddt=gras_datadesc_ref("welcome_msg_t*",gras_datadesc_by_symbol(gras_welcome_msg_t));
+  gras_msgtype_declare("welcome",ddt);  
+}