Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Change completely the test to use messages instead of mucking directly with the trans...
[simgrid.git] / teshsuite / gras / datadesc / datadesc_structs.c
1 /* This file is perl-generated, of course */
2
3 #include "gras.h"
4
5 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(structs,test,"Logs about the gigantic struct test");
6
7 #define READ  0
8 #define WRITE 1
9 #define RW    2
10
11 void write_read(const char *type,void *src, void *dst, gras_socket_t *sock, int direction);
12
13 GRAS_DEFINE_TYPE(cccc,struct cccc { char a; char b; char c;char d;};)
14 GRAS_DEFINE_TYPE(ccsc,struct ccsc { char a; char b; short int c;char d;};)
15 GRAS_DEFINE_TYPE(ccic,struct ccic { char a; char b; int c;char d;};)
16 GRAS_DEFINE_TYPE(cclc,struct cclc { char a; char b; long int c;char d;};)
17 GRAS_DEFINE_TYPE(ccLc,struct ccLc { char a; char b; long long int c;char d;};)
18 GRAS_DEFINE_TYPE(ccfc,struct ccfc { char a; char b; float c;char d;};)
19 GRAS_DEFINE_TYPE(ccdc,struct ccdc { char a; char b; double c;char d;};)
20 GRAS_DEFINE_TYPE(sccc,struct sccc { short int a; char b; char c;char d;};)
21 GRAS_DEFINE_TYPE(scsc,struct scsc { short int a; char b; short int c;char d;};)
22 GRAS_DEFINE_TYPE(scic,struct scic { short int a; char b; int c;char d;};)
23 GRAS_DEFINE_TYPE(sclc,struct sclc { short int a; char b; long int c;char d;};)
24 GRAS_DEFINE_TYPE(scLc,struct scLc { short int a; char b; long long int c;char d;};)
25 GRAS_DEFINE_TYPE(scfc,struct scfc { short int a; char b; float c;char d;};)
26 GRAS_DEFINE_TYPE(scdc,struct scdc { short int a; char b; double c;char d;};)
27 GRAS_DEFINE_TYPE(iccc,struct iccc { int a; char b; char c;char d;};)
28 GRAS_DEFINE_TYPE(icsc,struct icsc { int a; char b; short int c;char d;};)
29 GRAS_DEFINE_TYPE(icic,struct icic { int a; char b; int c;char d;};)
30 GRAS_DEFINE_TYPE(iclc,struct iclc { int a; char b; long int c;char d;};)
31 GRAS_DEFINE_TYPE(icLc,struct icLc { int a; char b; long long int c;char d;};)
32 GRAS_DEFINE_TYPE(icfc,struct icfc { int a; char b; float c;char d;};)
33 GRAS_DEFINE_TYPE(icdc,struct icdc { int a; char b; double c;char d;};)
34 GRAS_DEFINE_TYPE(lccc,struct lccc { long int a; char b; char c;char d;};)
35 GRAS_DEFINE_TYPE(lcsc,struct lcsc { long int a; char b; short int c;char d;};)
36 GRAS_DEFINE_TYPE(lcic,struct lcic { long int a; char b; int c;char d;};)
37 GRAS_DEFINE_TYPE(lclc,struct lclc { long int a; char b; long int c;char d;};)
38 GRAS_DEFINE_TYPE(lcLc,struct lcLc { long int a; char b; long long int c;char d;};)
39 GRAS_DEFINE_TYPE(lcfc,struct lcfc { long int a; char b; float c;char d;};)
40 GRAS_DEFINE_TYPE(lcdc,struct lcdc { long int a; char b; double c;char d;};)
41 GRAS_DEFINE_TYPE(Lccc,struct Lccc { long long int a; char b; char c;char d;};)
42 GRAS_DEFINE_TYPE(Lcsc,struct Lcsc { long long int a; char b; short int c;char d;};)
43 GRAS_DEFINE_TYPE(Lcic,struct Lcic { long long int a; char b; int c;char d;};)
44 GRAS_DEFINE_TYPE(Lclc,struct Lclc { long long int a; char b; long int c;char d;};)
45 GRAS_DEFINE_TYPE(LcLc,struct LcLc { long long int a; char b; long long int c;char d;};)
46 GRAS_DEFINE_TYPE(Lcfc,struct Lcfc { long long int a; char b; float c;char d;};)
47 GRAS_DEFINE_TYPE(Lcdc,struct Lcdc { long long int a; char b; double c;char d;};)
48 GRAS_DEFINE_TYPE(fccc,struct fccc { float a; char b; char c;char d;};)
49 GRAS_DEFINE_TYPE(fcsc,struct fcsc { float a; char b; short int c;char d;};)
50 GRAS_DEFINE_TYPE(fcic,struct fcic { float a; char b; int c;char d;};)
51 GRAS_DEFINE_TYPE(fclc,struct fclc { float a; char b; long int c;char d;};)
52 GRAS_DEFINE_TYPE(fcLc,struct fcLc { float a; char b; long long int c;char d;};)
53 GRAS_DEFINE_TYPE(fcfc,struct fcfc { float a; char b; float c;char d;};)
54 GRAS_DEFINE_TYPE(fcdc,struct fcdc { float a; char b; double c;char d;};)
55 GRAS_DEFINE_TYPE(dccc,struct dccc { double a; char b; char c;char d;};)
56 GRAS_DEFINE_TYPE(dcsc,struct dcsc { double a; char b; short int c;char d;};)
57 GRAS_DEFINE_TYPE(dcic,struct dcic { double a; char b; int c;char d;};)
58 GRAS_DEFINE_TYPE(dclc,struct dclc { double a; char b; long int c;char d;};)
59 GRAS_DEFINE_TYPE(dcLc,struct dcLc { double a; char b; long long int c;char d;};)
60 GRAS_DEFINE_TYPE(dcfc,struct dcfc { double a; char b; float c;char d;};)
61 GRAS_DEFINE_TYPE(dcdc,struct dcdc { double a; char b; double c;char d;};)
62
63 #define test(a) xbt_assert(a)
64 void register_structures(void);
65 void register_structures(void) {
66   gras_msgtype_declare("cccc", gras_datadesc_by_symbol(cccc));
67   gras_msgtype_declare("ccsc", gras_datadesc_by_symbol(ccsc));
68   gras_msgtype_declare("ccic", gras_datadesc_by_symbol(ccic));
69   gras_msgtype_declare("cclc", gras_datadesc_by_symbol(cclc));
70   gras_msgtype_declare("ccLc", gras_datadesc_by_symbol(ccLc));
71   gras_msgtype_declare("ccfc", gras_datadesc_by_symbol(ccfc));
72   gras_msgtype_declare("ccdc", gras_datadesc_by_symbol(ccdc));
73   gras_msgtype_declare("sccc", gras_datadesc_by_symbol(sccc));
74   gras_msgtype_declare("scsc", gras_datadesc_by_symbol(scsc));
75   gras_msgtype_declare("scic", gras_datadesc_by_symbol(scic));
76   gras_msgtype_declare("sclc", gras_datadesc_by_symbol(sclc));
77   gras_msgtype_declare("scLc", gras_datadesc_by_symbol(scLc));
78   gras_msgtype_declare("scfc", gras_datadesc_by_symbol(scfc));
79   gras_msgtype_declare("scdc", gras_datadesc_by_symbol(scdc));
80   gras_msgtype_declare("iccc", gras_datadesc_by_symbol(iccc));
81   gras_msgtype_declare("icsc", gras_datadesc_by_symbol(icsc));
82   gras_msgtype_declare("icic", gras_datadesc_by_symbol(icic));
83   gras_msgtype_declare("iclc", gras_datadesc_by_symbol(iclc));
84   gras_msgtype_declare("icLc", gras_datadesc_by_symbol(icLc));
85   gras_msgtype_declare("icfc", gras_datadesc_by_symbol(icfc));
86   gras_msgtype_declare("icdc", gras_datadesc_by_symbol(icdc));
87   gras_msgtype_declare("lccc", gras_datadesc_by_symbol(lccc));
88   gras_msgtype_declare("lcsc", gras_datadesc_by_symbol(lcsc));
89   gras_msgtype_declare("lcic", gras_datadesc_by_symbol(lcic));
90   gras_msgtype_declare("lclc", gras_datadesc_by_symbol(lclc));
91   gras_msgtype_declare("lcLc", gras_datadesc_by_symbol(lcLc));
92   gras_msgtype_declare("lcfc", gras_datadesc_by_symbol(lcfc));
93   gras_msgtype_declare("lcdc", gras_datadesc_by_symbol(lcdc));
94   gras_msgtype_declare("Lccc", gras_datadesc_by_symbol(Lccc));
95   gras_msgtype_declare("Lcsc", gras_datadesc_by_symbol(Lcsc));
96   gras_msgtype_declare("Lcic", gras_datadesc_by_symbol(Lcic));
97   gras_msgtype_declare("Lclc", gras_datadesc_by_symbol(Lclc));
98   gras_msgtype_declare("LcLc", gras_datadesc_by_symbol(LcLc));
99   gras_msgtype_declare("Lcfc", gras_datadesc_by_symbol(Lcfc));
100   gras_msgtype_declare("Lcdc", gras_datadesc_by_symbol(Lcdc));
101   gras_msgtype_declare("fccc", gras_datadesc_by_symbol(fccc));
102   gras_msgtype_declare("fcsc", gras_datadesc_by_symbol(fcsc));
103   gras_msgtype_declare("fcic", gras_datadesc_by_symbol(fcic));
104   gras_msgtype_declare("fclc", gras_datadesc_by_symbol(fclc));
105   gras_msgtype_declare("fcLc", gras_datadesc_by_symbol(fcLc));
106   gras_msgtype_declare("fcfc", gras_datadesc_by_symbol(fcfc));
107   gras_msgtype_declare("fcdc", gras_datadesc_by_symbol(fcdc));
108   gras_msgtype_declare("dccc", gras_datadesc_by_symbol(dccc));
109   gras_msgtype_declare("dcsc", gras_datadesc_by_symbol(dcsc));
110   gras_msgtype_declare("dcic", gras_datadesc_by_symbol(dcic));
111   gras_msgtype_declare("dclc", gras_datadesc_by_symbol(dclc));
112   gras_msgtype_declare("dcLc", gras_datadesc_by_symbol(dcLc));
113   gras_msgtype_declare("dcfc", gras_datadesc_by_symbol(dcfc));
114   gras_msgtype_declare("dcdc", gras_datadesc_by_symbol(dcdc));
115 }
116 void test_structures(gras_socket_t *sock, int direction);
117 void test_structures(gras_socket_t *sock, int direction) {
118   struct cccc my_cccc = {'w'+(char)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_cccc2;
119   struct ccsc my_ccsc = {'w'+(char)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_ccsc2;
120   struct ccic my_ccic = {'w'+(char)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_ccic2;
121   struct cclc my_cclc = {'w'+(char)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_cclc2;
122   struct ccLc my_ccLc = {'w'+(char)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_ccLc2;
123   struct ccfc my_ccfc = {'w'+(char)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_ccfc2;
124   struct ccdc my_ccdc = {'w'+(char)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_ccdc2;
125   struct sccc my_sccc = {134+(short int)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_sccc2;
126   struct scsc my_scsc = {134+(short int)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_scsc2;
127   struct scic my_scic = {134+(short int)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_scic2;
128   struct sclc my_sclc = {134+(short int)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_sclc2;
129   struct scLc my_scLc = {134+(short int)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_scLc2;
130   struct scfc my_scfc = {134+(short int)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_scfc2;
131   struct scdc my_scdc = {134+(short int)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_scdc2;
132   struct iccc my_iccc = {-11249+(int)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_iccc2;
133   struct icsc my_icsc = {-11249+(int)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_icsc2;
134   struct icic my_icic = {-11249+(int)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_icic2;
135   struct iclc my_iclc = {-11249+(int)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_iclc2;
136   struct icLc my_icLc = {-11249+(int)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_icLc2;
137   struct icfc my_icfc = {-11249+(int)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_icfc2;
138   struct icdc my_icdc = {-11249+(int)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_icdc2;
139   struct lccc my_lccc = {31319919+(long int)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_lccc2;
140   struct lcsc my_lcsc = {31319919+(long int)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_lcsc2;
141   struct lcic my_lcic = {31319919+(long int)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_lcic2;
142   struct lclc my_lclc = {31319919+(long int)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_lclc2;
143   struct lcLc my_lcLc = {31319919+(long int)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_lcLc2;
144   struct lcfc my_lcfc = {31319919+(long int)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_lcfc2;
145   struct lcdc my_lcdc = {31319919+(long int)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_lcdc2;
146   struct Lccc my_Lccc = {-232130010+(long long int)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_Lccc2;
147   struct Lcsc my_Lcsc = {-232130010+(long long int)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_Lcsc2;
148   struct Lcic my_Lcic = {-232130010+(long long int)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_Lcic2;
149   struct Lclc my_Lclc = {-232130010+(long long int)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_Lclc2;
150   struct LcLc my_LcLc = {-232130010+(long long int)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_LcLc2;
151   struct Lcfc my_Lcfc = {-232130010+(long long int)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_Lcfc2;
152   struct Lcdc my_Lcdc = {-232130010+(long long int)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_Lcdc2;
153   struct fccc my_fccc = {-11313.1135+(float)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_fccc2;
154   struct fcsc my_fcsc = {-11313.1135+(float)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_fcsc2;
155   struct fcic my_fcic = {-11313.1135+(float)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_fcic2;
156   struct fclc my_fclc = {-11313.1135+(float)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_fclc2;
157   struct fcLc my_fcLc = {-11313.1135+(float)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_fcLc2;
158   struct fcfc my_fcfc = {-11313.1135+(float)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_fcfc2;
159   struct fcdc my_fcdc = {-11313.1135+(float)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_fcdc2;
160   struct dccc my_dccc = {1424420.11331+(double)1,'w'+(char)2,'w'+(char)3,'w'+(char)4}, my_dccc2;
161   struct dcsc my_dcsc = {1424420.11331+(double)1,'w'+(char)2,134+(short int)3,'w'+(char)4}, my_dcsc2;
162   struct dcic my_dcic = {1424420.11331+(double)1,'w'+(char)2,-11249+(int)3,'w'+(char)4}, my_dcic2;
163   struct dclc my_dclc = {1424420.11331+(double)1,'w'+(char)2,31319919+(long int)3,'w'+(char)4}, my_dclc2;
164   struct dcLc my_dcLc = {1424420.11331+(double)1,'w'+(char)2,-232130010+(long long int)3,'w'+(char)4}, my_dcLc2;
165   struct dcfc my_dcfc = {1424420.11331+(double)1,'w'+(char)2,-11313.1135+(float)3,'w'+(char)4}, my_dcfc2;
166   struct dcdc my_dcdc = {1424420.11331+(double)1,'w'+(char)2,1424420.11331+(double)3,'w'+(char)4}, my_dcdc2;
167   INFO0("---- Test on all possible struct having 3 fields (49 structs) ----");
168   write_read("cccc", &my_cccc, &my_cccc2, sock,direction);
169   if (direction == READ || direction == RW) {
170      int failed = 0;
171      test(my_cccc.a == my_cccc2.a);
172      test(my_cccc.b == my_cccc2.b);
173      test(my_cccc.c == my_cccc2.c);
174      test(my_cccc.d == my_cccc2.d);
175      if (!failed) VERB0("Passed cccc");
176   }
177   write_read("ccsc", &my_ccsc, &my_ccsc2, sock,direction);
178   if (direction == READ || direction == RW) {
179      int failed = 0;
180      test(my_ccsc.a == my_ccsc2.a);
181      test(my_ccsc.b == my_ccsc2.b);
182      test(my_ccsc.c == my_ccsc2.c);
183      test(my_ccsc.d == my_ccsc2.d);
184      if (!failed) VERB0("Passed ccsc");
185   }
186   write_read("ccic", &my_ccic, &my_ccic2, sock,direction);
187   if (direction == READ || direction == RW) {
188      int failed = 0;
189      test(my_ccic.a == my_ccic2.a);
190      test(my_ccic.b == my_ccic2.b);
191      test(my_ccic.c == my_ccic2.c);
192      test(my_ccic.d == my_ccic2.d);
193      if (!failed) VERB0("Passed ccic");
194   }
195   write_read("cclc", &my_cclc, &my_cclc2, sock,direction);
196   if (direction == READ || direction == RW) {
197      int failed = 0;
198      test(my_cclc.a == my_cclc2.a);
199      test(my_cclc.b == my_cclc2.b);
200      test(my_cclc.c == my_cclc2.c);
201      test(my_cclc.d == my_cclc2.d);
202      if (!failed) VERB0("Passed cclc");
203   }
204   write_read("ccLc", &my_ccLc, &my_ccLc2, sock,direction);
205   if (direction == READ || direction == RW) {
206      int failed = 0;
207      test(my_ccLc.a == my_ccLc2.a);
208      test(my_ccLc.b == my_ccLc2.b);
209      test(my_ccLc.c == my_ccLc2.c);
210      test(my_ccLc.d == my_ccLc2.d);
211      if (!failed) VERB0("Passed ccLc");
212   }
213   write_read("ccfc", &my_ccfc, &my_ccfc2, sock,direction);
214   if (direction == READ || direction == RW) {
215      int failed = 0;
216      test(my_ccfc.a == my_ccfc2.a);
217      test(my_ccfc.b == my_ccfc2.b);
218      test(my_ccfc.c == my_ccfc2.c);
219      test(my_ccfc.d == my_ccfc2.d);
220      if (!failed) VERB0("Passed ccfc");
221   }
222   write_read("ccdc", &my_ccdc, &my_ccdc2, sock,direction);
223   if (direction == READ || direction == RW) {
224      int failed = 0;
225      test(my_ccdc.a == my_ccdc2.a);
226      test(my_ccdc.b == my_ccdc2.b);
227      test(my_ccdc.c == my_ccdc2.c);
228      test(my_ccdc.d == my_ccdc2.d);
229      if (!failed) VERB0("Passed ccdc");
230   }
231   write_read("sccc", &my_sccc, &my_sccc2, sock,direction);
232   if (direction == READ || direction == RW) {
233      int failed = 0;
234      test(my_sccc.a == my_sccc2.a);
235      test(my_sccc.b == my_sccc2.b);
236      test(my_sccc.c == my_sccc2.c);
237      test(my_sccc.d == my_sccc2.d);
238      if (!failed) VERB0("Passed sccc");
239   }
240   write_read("scsc", &my_scsc, &my_scsc2, sock,direction);
241   if (direction == READ || direction == RW) {
242      int failed = 0;
243      test(my_scsc.a == my_scsc2.a);
244      test(my_scsc.b == my_scsc2.b);
245      test(my_scsc.c == my_scsc2.c);
246      test(my_scsc.d == my_scsc2.d);
247      if (!failed) VERB0("Passed scsc");
248   }
249   write_read("scic", &my_scic, &my_scic2, sock,direction);
250   if (direction == READ || direction == RW) {
251      int failed = 0;
252      test(my_scic.a == my_scic2.a);
253      test(my_scic.b == my_scic2.b);
254      test(my_scic.c == my_scic2.c);
255      test(my_scic.d == my_scic2.d);
256      if (!failed) VERB0("Passed scic");
257   }
258   write_read("sclc", &my_sclc, &my_sclc2, sock,direction);
259   if (direction == READ || direction == RW) {
260      int failed = 0;
261      test(my_sclc.a == my_sclc2.a);
262      test(my_sclc.b == my_sclc2.b);
263      test(my_sclc.c == my_sclc2.c);
264      test(my_sclc.d == my_sclc2.d);
265      if (!failed) VERB0("Passed sclc");
266   }
267   write_read("scLc", &my_scLc, &my_scLc2, sock,direction);
268   if (direction == READ || direction == RW) {
269      int failed = 0;
270      test(my_scLc.a == my_scLc2.a);
271      test(my_scLc.b == my_scLc2.b);
272      test(my_scLc.c == my_scLc2.c);
273      test(my_scLc.d == my_scLc2.d);
274      if (!failed) VERB0("Passed scLc");
275   }
276   write_read("scfc", &my_scfc, &my_scfc2, sock,direction);
277   if (direction == READ || direction == RW) {
278      int failed = 0;
279      test(my_scfc.a == my_scfc2.a);
280      test(my_scfc.b == my_scfc2.b);
281      test(my_scfc.c == my_scfc2.c);
282      test(my_scfc.d == my_scfc2.d);
283      if (!failed) VERB0("Passed scfc");
284   }
285   write_read("scdc", &my_scdc, &my_scdc2, sock,direction);
286   if (direction == READ || direction == RW) {
287      int failed = 0;
288      test(my_scdc.a == my_scdc2.a);
289      test(my_scdc.b == my_scdc2.b);
290      test(my_scdc.c == my_scdc2.c);
291      test(my_scdc.d == my_scdc2.d);
292      if (!failed) VERB0("Passed scdc");
293   }
294   write_read("iccc", &my_iccc, &my_iccc2, sock,direction);
295   if (direction == READ || direction == RW) {
296      int failed = 0;
297      test(my_iccc.a == my_iccc2.a);
298      test(my_iccc.b == my_iccc2.b);
299      test(my_iccc.c == my_iccc2.c);
300      test(my_iccc.d == my_iccc2.d);
301      if (!failed) VERB0("Passed iccc");
302   }
303   write_read("icsc", &my_icsc, &my_icsc2, sock,direction);
304   if (direction == READ || direction == RW) {
305      int failed = 0;
306      test(my_icsc.a == my_icsc2.a);
307      test(my_icsc.b == my_icsc2.b);
308      test(my_icsc.c == my_icsc2.c);
309      test(my_icsc.d == my_icsc2.d);
310      if (!failed) VERB0("Passed icsc");
311   }
312   write_read("icic", &my_icic, &my_icic2, sock,direction);
313   if (direction == READ || direction == RW) {
314      int failed = 0;
315      test(my_icic.a == my_icic2.a);
316      test(my_icic.b == my_icic2.b);
317      test(my_icic.c == my_icic2.c);
318      test(my_icic.d == my_icic2.d);
319      if (!failed) VERB0("Passed icic");
320   }
321   write_read("iclc", &my_iclc, &my_iclc2, sock,direction);
322   if (direction == READ || direction == RW) {
323      int failed = 0;
324      test(my_iclc.a == my_iclc2.a);
325      test(my_iclc.b == my_iclc2.b);
326      test(my_iclc.c == my_iclc2.c);
327      test(my_iclc.d == my_iclc2.d);
328      if (!failed) VERB0("Passed iclc");
329   }
330   write_read("icLc", &my_icLc, &my_icLc2, sock,direction);
331   if (direction == READ || direction == RW) {
332      int failed = 0;
333      test(my_icLc.a == my_icLc2.a);
334      test(my_icLc.b == my_icLc2.b);
335      test(my_icLc.c == my_icLc2.c);
336      test(my_icLc.d == my_icLc2.d);
337      if (!failed) VERB0("Passed icLc");
338   }
339   write_read("icfc", &my_icfc, &my_icfc2, sock,direction);
340   if (direction == READ || direction == RW) {
341      int failed = 0;
342      test(my_icfc.a == my_icfc2.a);
343      test(my_icfc.b == my_icfc2.b);
344      test(my_icfc.c == my_icfc2.c);
345      test(my_icfc.d == my_icfc2.d);
346      if (!failed) VERB0("Passed icfc");
347   }
348   write_read("icdc", &my_icdc, &my_icdc2, sock,direction);
349   if (direction == READ || direction == RW) {
350      int failed = 0;
351      test(my_icdc.a == my_icdc2.a);
352      test(my_icdc.b == my_icdc2.b);
353      test(my_icdc.c == my_icdc2.c);
354      test(my_icdc.d == my_icdc2.d);
355      if (!failed) VERB0("Passed icdc");
356   }
357   write_read("lccc", &my_lccc, &my_lccc2, sock,direction);
358   if (direction == READ || direction == RW) {
359      int failed = 0;
360      test(my_lccc.a == my_lccc2.a);
361      test(my_lccc.b == my_lccc2.b);
362      test(my_lccc.c == my_lccc2.c);
363      test(my_lccc.d == my_lccc2.d);
364      if (!failed) VERB0("Passed lccc");
365   }
366   write_read("lcsc", &my_lcsc, &my_lcsc2, sock,direction);
367   if (direction == READ || direction == RW) {
368      int failed = 0;
369      test(my_lcsc.a == my_lcsc2.a);
370      test(my_lcsc.b == my_lcsc2.b);
371      test(my_lcsc.c == my_lcsc2.c);
372      test(my_lcsc.d == my_lcsc2.d);
373      if (!failed) VERB0("Passed lcsc");
374   }
375   write_read("lcic", &my_lcic, &my_lcic2, sock,direction);
376   if (direction == READ || direction == RW) {
377      int failed = 0;
378      test(my_lcic.a == my_lcic2.a);
379      test(my_lcic.b == my_lcic2.b);
380      test(my_lcic.c == my_lcic2.c);
381      test(my_lcic.d == my_lcic2.d);
382      if (!failed) VERB0("Passed lcic");
383   }
384   write_read("lclc", &my_lclc, &my_lclc2, sock,direction);
385   if (direction == READ || direction == RW) {
386      int failed = 0;
387      test(my_lclc.a == my_lclc2.a);
388      test(my_lclc.b == my_lclc2.b);
389      test(my_lclc.c == my_lclc2.c);
390      test(my_lclc.d == my_lclc2.d);
391      if (!failed) VERB0("Passed lclc");
392   }
393   write_read("lcLc", &my_lcLc, &my_lcLc2, sock,direction);
394   if (direction == READ || direction == RW) {
395      int failed = 0;
396      test(my_lcLc.a == my_lcLc2.a);
397      test(my_lcLc.b == my_lcLc2.b);
398      test(my_lcLc.c == my_lcLc2.c);
399      test(my_lcLc.d == my_lcLc2.d);
400      if (!failed) VERB0("Passed lcLc");
401   }
402   write_read("lcfc", &my_lcfc, &my_lcfc2, sock,direction);
403   if (direction == READ || direction == RW) {
404      int failed = 0;
405      test(my_lcfc.a == my_lcfc2.a);
406      test(my_lcfc.b == my_lcfc2.b);
407      test(my_lcfc.c == my_lcfc2.c);
408      test(my_lcfc.d == my_lcfc2.d);
409      if (!failed) VERB0("Passed lcfc");
410   }
411   write_read("lcdc", &my_lcdc, &my_lcdc2, sock,direction);
412   if (direction == READ || direction == RW) {
413      int failed = 0;
414      test(my_lcdc.a == my_lcdc2.a);
415      test(my_lcdc.b == my_lcdc2.b);
416      test(my_lcdc.c == my_lcdc2.c);
417      test(my_lcdc.d == my_lcdc2.d);
418      if (!failed) VERB0("Passed lcdc");
419   }
420   write_read("Lccc", &my_Lccc, &my_Lccc2, sock,direction);
421   if (direction == READ || direction == RW) {
422      int failed = 0;
423      test(my_Lccc.a == my_Lccc2.a);
424      test(my_Lccc.b == my_Lccc2.b);
425      test(my_Lccc.c == my_Lccc2.c);
426      test(my_Lccc.d == my_Lccc2.d);
427      if (!failed) VERB0("Passed Lccc");
428   }
429   write_read("Lcsc", &my_Lcsc, &my_Lcsc2, sock,direction);
430   if (direction == READ || direction == RW) {
431      int failed = 0;
432      test(my_Lcsc.a == my_Lcsc2.a);
433      test(my_Lcsc.b == my_Lcsc2.b);
434      test(my_Lcsc.c == my_Lcsc2.c);
435      test(my_Lcsc.d == my_Lcsc2.d);
436      if (!failed) VERB0("Passed Lcsc");
437   }
438   write_read("Lcic", &my_Lcic, &my_Lcic2, sock,direction);
439   if (direction == READ || direction == RW) {
440      int failed = 0;
441      test(my_Lcic.a == my_Lcic2.a);
442      test(my_Lcic.b == my_Lcic2.b);
443      test(my_Lcic.c == my_Lcic2.c);
444      test(my_Lcic.d == my_Lcic2.d);
445      if (!failed) VERB0("Passed Lcic");
446   }
447   write_read("Lclc", &my_Lclc, &my_Lclc2, sock,direction);
448   if (direction == READ || direction == RW) {
449      int failed = 0;
450      test(my_Lclc.a == my_Lclc2.a);
451      test(my_Lclc.b == my_Lclc2.b);
452      test(my_Lclc.c == my_Lclc2.c);
453      test(my_Lclc.d == my_Lclc2.d);
454      if (!failed) VERB0("Passed Lclc");
455   }
456   write_read("LcLc", &my_LcLc, &my_LcLc2, sock,direction);
457   if (direction == READ || direction == RW) {
458      int failed = 0;
459      test(my_LcLc.a == my_LcLc2.a);
460      test(my_LcLc.b == my_LcLc2.b);
461      test(my_LcLc.c == my_LcLc2.c);
462      test(my_LcLc.d == my_LcLc2.d);
463      if (!failed) VERB0("Passed LcLc");
464   }
465   write_read("Lcfc", &my_Lcfc, &my_Lcfc2, sock,direction);
466   if (direction == READ || direction == RW) {
467      int failed = 0;
468      test(my_Lcfc.a == my_Lcfc2.a);
469      test(my_Lcfc.b == my_Lcfc2.b);
470      test(my_Lcfc.c == my_Lcfc2.c);
471      test(my_Lcfc.d == my_Lcfc2.d);
472      if (!failed) VERB0("Passed Lcfc");
473   }
474   write_read("Lcdc", &my_Lcdc, &my_Lcdc2, sock,direction);
475   if (direction == READ || direction == RW) {
476      int failed = 0;
477      test(my_Lcdc.a == my_Lcdc2.a);
478      test(my_Lcdc.b == my_Lcdc2.b);
479      test(my_Lcdc.c == my_Lcdc2.c);
480      test(my_Lcdc.d == my_Lcdc2.d);
481      if (!failed) VERB0("Passed Lcdc");
482   }
483   write_read("fccc", &my_fccc, &my_fccc2, sock,direction);
484   if (direction == READ || direction == RW) {
485      int failed = 0;
486      test(my_fccc.a == my_fccc2.a);
487      test(my_fccc.b == my_fccc2.b);
488      test(my_fccc.c == my_fccc2.c);
489      test(my_fccc.d == my_fccc2.d);
490      if (!failed) VERB0("Passed fccc");
491   }
492   write_read("fcsc", &my_fcsc, &my_fcsc2, sock,direction);
493   if (direction == READ || direction == RW) {
494      int failed = 0;
495      test(my_fcsc.a == my_fcsc2.a);
496      test(my_fcsc.b == my_fcsc2.b);
497      test(my_fcsc.c == my_fcsc2.c);
498      test(my_fcsc.d == my_fcsc2.d);
499      if (!failed) VERB0("Passed fcsc");
500   }
501   write_read("fcic", &my_fcic, &my_fcic2, sock,direction);
502   if (direction == READ || direction == RW) {
503      int failed = 0;
504      test(my_fcic.a == my_fcic2.a);
505      test(my_fcic.b == my_fcic2.b);
506      test(my_fcic.c == my_fcic2.c);
507      test(my_fcic.d == my_fcic2.d);
508      if (!failed) VERB0("Passed fcic");
509   }
510   write_read("fclc", &my_fclc, &my_fclc2, sock,direction);
511   if (direction == READ || direction == RW) {
512      int failed = 0;
513      test(my_fclc.a == my_fclc2.a);
514      test(my_fclc.b == my_fclc2.b);
515      test(my_fclc.c == my_fclc2.c);
516      test(my_fclc.d == my_fclc2.d);
517      if (!failed) VERB0("Passed fclc");
518   }
519   write_read("fcLc", &my_fcLc, &my_fcLc2, sock,direction);
520   if (direction == READ || direction == RW) {
521      int failed = 0;
522      test(my_fcLc.a == my_fcLc2.a);
523      test(my_fcLc.b == my_fcLc2.b);
524      test(my_fcLc.c == my_fcLc2.c);
525      test(my_fcLc.d == my_fcLc2.d);
526      if (!failed) VERB0("Passed fcLc");
527   }
528   write_read("fcfc", &my_fcfc, &my_fcfc2, sock,direction);
529   if (direction == READ || direction == RW) {
530      int failed = 0;
531      test(my_fcfc.a == my_fcfc2.a);
532      test(my_fcfc.b == my_fcfc2.b);
533      test(my_fcfc.c == my_fcfc2.c);
534      test(my_fcfc.d == my_fcfc2.d);
535      if (!failed) VERB0("Passed fcfc");
536   }
537   write_read("fcdc", &my_fcdc, &my_fcdc2, sock,direction);
538   if (direction == READ || direction == RW) {
539      int failed = 0;
540      test(my_fcdc.a == my_fcdc2.a);
541      test(my_fcdc.b == my_fcdc2.b);
542      test(my_fcdc.c == my_fcdc2.c);
543      test(my_fcdc.d == my_fcdc2.d);
544      if (!failed) VERB0("Passed fcdc");
545   }
546   write_read("dccc", &my_dccc, &my_dccc2, sock,direction);
547   if (direction == READ || direction == RW) {
548      int failed = 0;
549      test(my_dccc.a == my_dccc2.a);
550      test(my_dccc.b == my_dccc2.b);
551      test(my_dccc.c == my_dccc2.c);
552      test(my_dccc.d == my_dccc2.d);
553      if (!failed) VERB0("Passed dccc");
554   }
555   write_read("dcsc", &my_dcsc, &my_dcsc2, sock,direction);
556   if (direction == READ || direction == RW) {
557      int failed = 0;
558      test(my_dcsc.a == my_dcsc2.a);
559      test(my_dcsc.b == my_dcsc2.b);
560      test(my_dcsc.c == my_dcsc2.c);
561      test(my_dcsc.d == my_dcsc2.d);
562      if (!failed) VERB0("Passed dcsc");
563   }
564   write_read("dcic", &my_dcic, &my_dcic2, sock,direction);
565   if (direction == READ || direction == RW) {
566      int failed = 0;
567      test(my_dcic.a == my_dcic2.a);
568      test(my_dcic.b == my_dcic2.b);
569      test(my_dcic.c == my_dcic2.c);
570      test(my_dcic.d == my_dcic2.d);
571      if (!failed) VERB0("Passed dcic");
572   }
573   write_read("dclc", &my_dclc, &my_dclc2, sock,direction);
574   if (direction == READ || direction == RW) {
575      int failed = 0;
576      test(my_dclc.a == my_dclc2.a);
577      test(my_dclc.b == my_dclc2.b);
578      test(my_dclc.c == my_dclc2.c);
579      test(my_dclc.d == my_dclc2.d);
580      if (!failed) VERB0("Passed dclc");
581   }
582   write_read("dcLc", &my_dcLc, &my_dcLc2, sock,direction);
583   if (direction == READ || direction == RW) {
584      int failed = 0;
585      test(my_dcLc.a == my_dcLc2.a);
586      test(my_dcLc.b == my_dcLc2.b);
587      test(my_dcLc.c == my_dcLc2.c);
588      test(my_dcLc.d == my_dcLc2.d);
589      if (!failed) VERB0("Passed dcLc");
590   }
591   write_read("dcfc", &my_dcfc, &my_dcfc2, sock,direction);
592   if (direction == READ || direction == RW) {
593      int failed = 0;
594      test(my_dcfc.a == my_dcfc2.a);
595      test(my_dcfc.b == my_dcfc2.b);
596      test(my_dcfc.c == my_dcfc2.c);
597      test(my_dcfc.d == my_dcfc2.d);
598      if (!failed) VERB0("Passed dcfc");
599   }
600   write_read("dcdc", &my_dcdc, &my_dcdc2, sock,direction);
601   if (direction == READ || direction == RW) {
602      int failed = 0;
603      test(my_dcdc.a == my_dcdc2.a);
604      test(my_dcdc.b == my_dcdc2.b);
605      test(my_dcdc.c == my_dcdc2.c);
606      test(my_dcdc.d == my_dcdc2.d);
607      if (!failed) VERB0("Passed dcdc");
608   }
609 }