+ for(pos1=0;pos1<structCount;pos1++){
+ if(ev->type->alignment > 1) {
+ fprintf(fp,"\t\t\tdata_size += ltt_align(data_size, %u);\n",
+ ev->type->alignment);
+ }
+ fprintf(fp,"\t\t\tdata_size += sizeof(struct %s_%s_%d);\n",
+ ev->name,facName,pos1+1);
+// if(pos1 != structCount-1) fprintf(fp," + ");
+ }
+
+ //length of buffer : length of all arrays, sequences and strings
+ seqCount = 0;
+ strCount = 0;
+ flag = 0;
+ if(ev->type != 0)
+ for(pos1 = 0; pos1 < ev->type->fields.position; pos1++){
+ fld = (field_t *)ev->type->fields.array[pos1];
+ td = fld->type;
+ if(td->type == SEQUENCE || td->type==STRING || td->type==ARRAY){
+ if(td->type == SEQUENCE) {
+
+ if(td->alignment > 1) {
+ fprintf(fp,"\t\t\tdata_size += ltt_align(data_size, %u);\n",
+ td->alignment);
+ }
+ fprintf(fp,"\t\t\tdata_size += sizeof(%s);\n",
+ uintOutputTypes[td->size]);
+
+ if(td->alignment > 1) {
+ fprintf(fp,"\t\tdata_size += ltt_align(data_size, %u);\n",
+ td->alignment);
+ }
+ fprintf(fp,"\t\tdata_size += sizeof(%s) * seqlength_%d;\n",
+ getTypeStr(td), seqCount);
+
+ } else if(td->type==STRING) {
+ if(td->alignment > 1) {
+ fprintf(fp,"\t\tdata_size += ltt_align(data_size, %u);\n",
+ td->alignment);
+ }
+ strCount++;
+ fprintf(fp,"\t\tdata_size += strlength_%d + 1;\n",
+ strCount);
+ }
+ else if(td->type==ARRAY) {
+ if(td->alignment > 1) {
+ fprintf(fp,"\t\tdata_size += ltt_align(data_size, %u);\n",
+ td->alignment);
+ }
+ fprintf(fp,"\t\tdata_size += sizeof(%s) * %d;\n",
+ getTypeStr(td), td->size);