From: mquinson Date: Thu, 7 Dec 2006 22:02:52 +0000 (+0000) Subject: add an example of nested structures here for the record X-Git-Tag: v3.3~2402 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/93f39f2280e117f34c2df62d80cf4d571235e571 add an example of nested structures here for the record git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2957 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/doc/gtut-tour-13-pointers.doc b/doc/gtut-tour-13-pointers.doc index da841eafe0..98c8c99507 100644 --- a/doc/gtut-tour-13-pointers.doc +++ b/doc/gtut-tour-13-pointers.doc @@ -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); +}