/* What follows is a commented example of data-types that */ /* can be used with this version of "AutoMap on the Web" */ /************************************************************/ /*~ AM_Begin */ /* the previous comment is to tell AutoMap where to start */ /************************************************************/ struct _intStruct { int a; char b; int c; }; typedef struct _intStruct intStruct /*~ AM */; /* this comment is to tell AutoMap */ /* to use this data-type */ /* Note that this will also commit the type to be generated for AutoLink */ struct _Partstruct { intStruct* test; /* AutoLink needs strong typing to work */ int class; double d[6]; char b[7]; int c[8]; }; typedef struct _Partstruct Partstruct /*~ AM */; /************************************************************/ typedef struct _Atype Atype /*~ AM */; typedef struct _Btype Btype /*~ AM */; typedef struct _Ctype Ctype /*~ AM */; typedef struct _Dtype Dtype /*~ AM */; typedef struct _Etype Etype /*~ AM */; /* Note that each and every sub-type used by a type must be made */ /* so that AutoLink can recognize it; it has to be AutoMap marked */ /* In this particular case, Atype uses Btype, Ctype and Dtype. */ /* Btype uses Ctype. Ctype uses Atype and Etype. */ /* The types Atype, Btype, Ctype, Dtype and Etype are then to be */ /* AutoMap processed */ struct _Atype { char A; Btype* b1; Btype* b2; Ctype* c; Dtype* d; }; struct _Btype { char B; Ctype* c; }; struct _Ctype { char C; Atype* a; Etype* e; }; struct _Dtype { char D; }; struct _Etype { char E; }; /* AutoLink internal algorithm is designed to stand looped types */ /* by only traversing each data-type once */ /************************************************************/ typedef struct _AL_LL_Test AL_LL_Test /*~ AM */; struct _AL_LL_Test { char content[20]; /* Note that "char*" being of pointer type would have to be processed */ /* by AutoLink, but in this release, this is not yet allowed */ AL_LL_Test *next; }; /* This particular example allows the user to try to set different */ /* Packet Size */ /*~ AM_End */ /* This is to tell AutoMap not to process any further */ /* data-type */