Skip to content

Commit d1471f7

Browse files
author
Ian Shorter
committed
Stop lots of compiler warnings on Linux
1 parent 61e7b6a commit d1471f7

File tree

1 file changed

+68
-63
lines changed

1 file changed

+68
-63
lines changed

chsc.h

Lines changed: 68 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636
/*-------------------------------------------------------------------*/
3737
/* CHSC_REQ: Generic Channel Subsystem Call request */
3838
/*-------------------------------------------------------------------*/
39-
typedef struct CHSC_REQ {
39+
struct _CHSC_REQ;
40+
typedef struct _CHSC_REQ CHSC_REQ;
41+
struct _CHSC_REQ {
4042
/*000*/ HWORD length; /* Offset to response field */
4143
/*002*/ HWORD req; /* Request code */
4244
/* The following request codes are in use, but the request name */
@@ -91,13 +93,13 @@ typedef struct CHSC_REQ {
9193
/*004*/ FWORD resv[3];
9294
/*010*/ } ATTRIBUTE_PACKED;
9395

94-
typedef struct CHSC_REQ CHSC_REQ;
95-
9696

9797
/*-------------------------------------------------------------------*/
9898
/* CHSC_RSP: Generic Channel Subsystem Call response */
9999
/*-------------------------------------------------------------------*/
100-
typedef struct CHSC_RSP {
100+
struct _CHSC_RSP;
101+
typedef struct _CHSC_RSP CHSC_RSP;
102+
struct _CHSC_RSP {
101103
/*000*/ HWORD length; /* Length of response field */
102104
/*002*/ HWORD rsp; /* Reponse code */
103105
#define CHSC_REQ_OK 0x0001 /* No error */
@@ -113,8 +115,6 @@ typedef struct CHSC_RSP {
113115
/*004*/ FWORD info;
114116
/*008*/ } ATTRIBUTE_PACKED;
115117

116-
typedef struct CHSC_RSP CHSC_RSP;
117-
118118

119119
/*-------------------------------------------------------------------*/
120120
/* PROGRAMMING NOTE: as far as we know the maximum size of a CHSC */
@@ -173,7 +173,9 @@ static INLINE int chsc_req_errreq( CHSC_RSP *chsc_rsp, U32 info )
173173
/*-------------------------------------------------------------------*/
174174
/* CHSC_REQ2: Store Channel Path Description request */
175175
/*-------------------------------------------------------------------*/
176-
typedef struct CHSC_REQ2 { /* Store Channel Path Desc */
176+
struct _CHSC_REQ2;
177+
typedef struct _CHSC_REQ2 CHSC_REQ2;
178+
struct _CHSC_REQ2 { /* Store Channel Path Desc */
177179
/*000*/ HWORD length; /* Offset to response field */
178180
/*002*/ HWORD req; /* Request code */
179181
/*004*/ BYTE flags1;
@@ -189,14 +191,14 @@ typedef struct CHSC_REQ2 { /* Store Channel Path Desc */
189191
/*00C*/ FWORD resv2;
190192
/*010*/ } ATTRIBUTE_PACKED;
191193

192-
typedef struct CHSC_REQ2 CHSC_REQ2;
193-
194194

195195
/*-------------------------------------------------------------------*/
196196
/* CHSC_RSP2: Store Channel Path Description format 0 response */
197197
/*-------------------------------------------------------------------*/
198198
/* CHSC_RSP followed by one or more CHSC_RSP2 */
199-
typedef struct CHSC_RSP2 { /* Store Channel Path Desc */
199+
struct _CHSC_RSP2;
200+
typedef struct _CHSC_RSP2 CHSC_RSP2;
201+
struct _CHSC_RSP2 { /* Store Channel Path Desc */
200202
/*000*/ BYTE flags1; /* Flags */
201203
#define CHSC_RSP2_F1_CHPID_VALID 0x80 /* */
202204
#define CHSC_RSP2_F1_CHLA_VALID 0x40 /* */
@@ -211,14 +213,14 @@ typedef struct CHSC_RSP2 { /* Store Channel Path Desc */
211213
/*007*/ BYTE resv7;
212214
/*008*/ } ATTRIBUTE_PACKED;
213215

214-
typedef struct CHSC_RSP2 CHSC_RSP2;
215-
216216

217217
/*-------------------------------------------------------------------*/
218218
/* CHSC_RSP2F1: Store Channel Path Description format 1 response */
219219
/*-------------------------------------------------------------------*/
220220
/* CHSC_RSP followed by one or more CHSC_RSP2F1 */
221-
typedef struct CHSC_RSP2F1 { /* Store Channel Path Desc */
221+
struct _CHSC_RSP2F1;
222+
typedef struct _CHSC_RSP2F1 CHSC_RSP2F1;
223+
struct _CHSC_RSP2F1 { /* Store Channel Path Desc */
222224
/*000*/ BYTE flags1; /* Flags */
223225
#define CHSC_RSP2F1_F1_CHPID_VALID 0x80 /* */
224226
#define CHSC_RSP2F1_F1_LSN_VALID 0x20 /* */
@@ -236,13 +238,13 @@ typedef struct CHSC_RSP2F1 { /* Store Channel Path Desc */
236238
/*010*/ FWORD resv3[2];
237239
/*018*/ } ATTRIBUTE_PACKED;
238240

239-
typedef struct CHSC_RSP2F1 CHSC_RSP2F1;
240-
241241

242242
/*-------------------------------------------------------------------*/
243243
/* CHSC_REQ4: Store Subchannel Description Data request */
244244
/*-------------------------------------------------------------------*/
245-
typedef struct CHSC_REQ4 { /* Store Subchann Descr Data */
245+
struct _CHSC_REQ4;
246+
typedef struct _CHSC_REQ4 CHSC_REQ4;
247+
struct _CHSC_REQ4 { /* Store Subchann Descr Data */
246248
/*000*/ HWORD length; /* Offset to response field */
247249
/*002*/ HWORD req; /* Request code */
248250
/*004*/ HWORD ssidfmt;
@@ -254,14 +256,14 @@ typedef struct CHSC_REQ4 { /* Store Subchann Descr Data */
254256
/*00C*/ FWORD resv3;
255257
/*010*/ } ATTRIBUTE_PACKED;
256258

257-
typedef struct CHSC_REQ4 CHSC_REQ4;
258-
259259

260260
/*-------------------------------------------------------------------*/
261261
/* CHSC_RSP4: Store Subchannel Description Data response */
262262
/*-------------------------------------------------------------------*/
263263
/* CHSC_RSP followed by zero, one or more CHSC_RSP4 */
264-
typedef struct CHSC_RSP4 { /* Store Subchann Descr Data */
264+
struct _CHSC_RSP4;
265+
typedef struct _CHSC_RSP4 CHSC_RSP4;
266+
struct _CHSC_RSP4 { /* Store Subchann Descr Data */
265267
/*000*/ BYTE flags1; /* Flags */
266268
#define CHSC_RSP4_F1_SCH_VALID 0x80 /* Subchannel valid */
267269
#define CHSC_RSP4_F1_DEV_VALID 0x40 /* Device number valid */
@@ -284,13 +286,13 @@ typedef struct CHSC_RSP4 { /* Store Subchann Descr Data */
284286
/*010*/ HWORD fla[8]; /* Full link address array */
285287
/*020*/ } ATTRIBUTE_PACKED;
286288

287-
typedef struct CHSC_RSP4 CHSC_RSP4;
288-
289289

290290
/*-------------------------------------------------------------------*/
291291
/* CHSC_REQ6: Store Subchannel Control-Unit Data request */
292292
/*-------------------------------------------------------------------*/
293-
typedef struct CHSC_REQ6 { /* Store Subchann. CU Data */
293+
struct _CHSC_REQ6;
294+
typedef struct _CHSC_REQ6 CHSC_REQ6;
295+
struct _CHSC_REQ6 { /* Store Subchann. CU Data */
294296
/*000*/ HWORD length; /* Offset to response field */
295297
/*002*/ HWORD req; /* Request code */
296298
/*004*/ HWORD ssidfmt;
@@ -304,14 +306,14 @@ typedef struct CHSC_REQ6 { /* Store Subchann. CU Data */
304306
/*00C*/ FWORD resv3;
305307
/*010*/ } ATTRIBUTE_PACKED;
306308

307-
typedef struct CHSC_REQ6 CHSC_REQ6;
308-
309309

310310
/*-------------------------------------------------------------------*/
311311
/* CHSC_RSP6: Store Subchannel Control-Unit Data response */
312312
/*-------------------------------------------------------------------*/
313313
/* CHSC_RSP followed by zero, one or more CHSC_RSP6 */
314-
typedef struct CHSC_RSP6 { /* Store Subchann. CU Data */
314+
struct _CHSC_RSP6;
315+
typedef struct _CHSC_RSP6 CHSC_RSP6;
316+
struct _CHSC_RSP6 { /* Store Subchann. CU Data */
315317
/*000*/ BYTE flags1; /* Flags */
316318
#define CHSC_RSP6_F1_SCH_VALID 0x80 /* Subchannel valid */
317319
#define CHSC_RSP6_F1_DEV_VALID 0x40 /* Device number valid */
@@ -333,26 +335,26 @@ typedef struct CHSC_RSP6 { /* Store Subchann. CU Data */
333335
/*010*/ HWORD cun[8]; /* Control unit number array */
334336
/*020*/ } ATTRIBUTE_PACKED;
335337

336-
typedef struct CHSC_RSP6 CHSC_RSP6;
337-
338338

339339
/*-------------------------------------------------------------------*/
340340
/* CHSC_REQ10: Store Channel-Subsystem Characteristics request */
341341
/*-------------------------------------------------------------------*/
342-
typedef struct CHSC_REQ10 { /* Store Channel-Subsystem Characteristics */
342+
struct _CHSC_REQ10;
343+
typedef struct _CHSC_REQ10 CHSC_REQ10;
344+
struct _CHSC_REQ10 { /* Store Channel-Subsystem Characteristics */
343345
/*000*/ HWORD length; /* Offset to response field */
344346
/*002*/ HWORD req; /* Request code */
345347
/*004*/ FWORD resv[3]; /* Must be zero */
346348
/*010*/ } ATTRIBUTE_PACKED;
347349

348-
typedef struct CHSC_REQ10 CHSC_REQ10;
349-
350350

351351
/*-------------------------------------------------------------------*/
352352
/* CHSC_RSP10: Store Channel-Subsystem Characteristics reponse */
353353
/*-------------------------------------------------------------------*/
354-
/* CHSC_RSP10 only */
355-
typedef struct CHSC_RSP10 { /* Store Channel-Subsystem Characteristics */
354+
/* CHSC_RSP followed by CHSC_RSP10 */
355+
struct _CHSC_RSP10;
356+
typedef struct _CHSC_RSP10 CHSC_RSP10;
357+
struct _CHSC_RSP10 { /* Store Channel-Subsystem Characteristics */
356358
/*000*/ FWORD general_char[510];
357359
/*7F8*/ FWORD chsc_char[508]; /* ZZ: Linux/390 code indicates
358360
this field has a length of
@@ -363,13 +365,13 @@ typedef struct CHSC_RSP10 { /* Store Channel-Subsystem Characteristi
363365
an error - *JJ/10/10/04*/
364366
/*FE8*/ } ATTRIBUTE_PACKED;
365367

366-
typedef struct CHSC_RSP10 CHSC_RSP10;
367-
368368

369369
/*-------------------------------------------------------------------*/
370370
/* CHSC_REQ12: Store Configuration Information request */
371371
/*-------------------------------------------------------------------*/
372-
typedef struct CHSC_REQ12 { /* Store Config. Information */
372+
struct _CHSC_REQ12;
373+
typedef struct _CHSC_REQ12 CHSC_REQ12;
374+
struct _CHSC_REQ12 { /* Store Config. Information */
373375
/*000*/ HWORD length; /* Offset to response field */
374376
/*002*/ HWORD req; /* Request code */
375377
/*004*/ BYTE flags;
@@ -382,14 +384,14 @@ typedef struct CHSC_REQ12 { /* Store Config. Information */
382384
/*008*/ DBLWRD resv008;
383385
/*010*/ } ATTRIBUTE_PACKED;
384386

385-
typedef struct CHSC_REQ12 CHSC_REQ12;
386-
387387

388388
/*-------------------------------------------------------------------*/
389389
/* CHSC_RSP12: Store Configuration Information response */
390390
/*-------------------------------------------------------------------*/
391-
/* CHSC_RSP12 only */
392-
typedef struct CHSC_RSP12 { /* Store Config. Information */
391+
/* CHSC_RSP followed by CHSC_RSP12 */
392+
struct _CHSC_RSP12;
393+
typedef struct _CHSC_RSP12 CHSC_RSP12;
394+
struct _CHSC_RSP12 { /* Store Config. Information */
393395
/*000*/ BYTE resv008;
394396
/*001*/ BYTE flags; /* Flags */
395397
#define CHSC_RSP12_F1_CM 0x80 /* Configuration Mode */
@@ -414,13 +416,13 @@ typedef struct CHSC_RSP12 { /* Store Config. Information */
414416
/*130*/ FWORD unknow138[488];
415417
/*8D0*/ } ATTRIBUTE_PACKED;
416418

417-
typedef struct CHSC_RSP12 CHSC_RSP12;
418-
419419

420420
/*-------------------------------------------------------------------*/
421421
/* CHSC_REQ21: Set Subchannel Indicator. Response is CHSC_RSP. */
422422
/*-------------------------------------------------------------------*/
423-
typedef struct CHSC_REQ21 {
423+
struct _CHSC_REQ21;
424+
typedef struct _CHSC_REQ21 CHSC_REQ21;
425+
struct _CHSC_REQ21 { /* Set Subchannel Indicator */
424426
/*000*/ HWORD length; /* Offset to response field */
425427
/*002*/ HWORD req; /* Request code */
426428
/*004*/ HWORD opcode; /* Operation Code */
@@ -443,13 +445,13 @@ typedef struct CHSC_REQ21 {
443445
/*030*/ FWORD resvx[1004];
444446
/*FE0*/ } ATTRIBUTE_PACKED;
445447

446-
typedef struct CHSC_REQ21 CHSC_REQ21;
447-
448448

449449
/*-------------------------------------------------------------------*/
450450
/* CHSC_REQ24: Store Subchannel QDIO Data request */
451451
/*-------------------------------------------------------------------*/
452-
typedef struct CHSC_REQ24 { /* Store Subchann. QDIO Data */
452+
struct _CHSC_REQ24;
453+
typedef struct _CHSC_REQ24 CHSC_REQ24;
454+
struct _CHSC_REQ24 { /* Store Subchann. QDIO Data */
453455
/*000*/ HWORD length; /* Offset to response field */
454456
/*002*/ HWORD req; /* Request code */
455457
/*004*/ HWORD ssidfmt;
@@ -461,14 +463,14 @@ typedef struct CHSC_REQ24 { /* Store Subchann. QDIO Data */
461463
/*00C*/ FWORD resv2;
462464
/*010*/ } ATTRIBUTE_PACKED;
463465

464-
typedef struct CHSC_REQ24 CHSC_REQ24;
465-
466466

467467
/*-------------------------------------------------------------------*/
468468
/* CHSC_RSP24: Store Subchannel QDIO Data response */
469469
/*-------------------------------------------------------------------*/
470470
/* CHSC_RSP followed by zero, one or more CHSC_RSP24 */
471-
typedef struct CHSC_RSP24 { /* Store Subchann. QDIO Data */
471+
struct _CHSC_RSP24;
472+
typedef struct _CHSC_RSP24 CHSC_RSP24;
473+
struct _CHSC_RSP24 { /* Store Subchann. QDIO Data */
472474
/*000*/ BYTE flags; /* Flags for st QDIO Sch Data */
473475
#define CHSC_FLAG_QDIO_CAPABILITY 0x80
474476
#define CHSC_FLAG_VALIDITY 0x40
@@ -509,13 +511,13 @@ typedef struct CHSC_RSP24 { /* Store Subchann. QDIO Data */
509511
/*01F*/ BYTE mmwc;
510512
/*020*/ } ATTRIBUTE_PACKED;
511513

512-
typedef struct CHSC_RSP24 CHSC_RSP24;
513-
514514

515515
/*-------------------------------------------------------------------*/
516516
/* CHSC_REQ31: Enable Facility request. The response is a CHSC_RSP. */
517517
/*-------------------------------------------------------------------*/
518-
typedef struct CHSC_REQ31 { /* Enable Facility */
518+
struct _CHSC_REQ31;
519+
typedef struct _CHSC_REQ31 CHSC_REQ31;
520+
struct _CHSC_REQ31 { /* Enable Facility */
519521
/*000*/ HWORD length; /* Offset to response field */
520522
/*002*/ HWORD req; /* Request code */
521523
/*004*/ HWORD resv1;
@@ -526,15 +528,15 @@ typedef struct CHSC_REQ31 { /* Enable Facility */
526528
/*010*/ FWORD opdata[252]; /* Operation Code Data */
527529
/*400*/ } ATTRIBUTE_PACKED;
528530

529-
typedef struct CHSC_REQ31 CHSC_REQ31;
530-
531531

532532
/*-------------------------------------------------------------------*/
533533
/* Some requests that aren't supported yet. */
534534
/*-------------------------------------------------------------------*/
535535

536536
/* Reset Control Unit request. The response is a CHSC_RSP */
537-
typedef struct CHSC_REQ1 { /* Reset Control Unit */
537+
struct _CHSC_REQ1;
538+
typedef struct _CHSC_REQ1 CHSC_REQ1;
539+
struct _CHSC_REQ1 { /* Reset Control Unit */
538540
/*000*/ HWORD length; /* Offset to response field */
539541
/*002*/ HWORD req; /* Request code */
540542
/*004*/ BYTE resv1[3];
@@ -544,13 +546,17 @@ typedef struct CHSC_REQ1 { /* Reset Control Unit */
544546
/*00C*/ FWORD resv3;
545547
/*010*/ } ATTRIBUTE_PACKED;
546548

547-
typedef struct CHSC_REQC {
549+
struct _CHSC_REQC;
550+
typedef struct _CHSC_REQC CHSC_REQC;
551+
struct _CHSC_REQC {
548552
/*000*/ HWORD length; /* Offset to response field */
549553
/*002*/ HWORD req; /* Request code */
550554
/*004*/ FWORD unknown4[3];
551555
/*010*/ } ATTRIBUTE_PACKED;
552556

553-
typedef struct CHSC_REQ26 {
557+
struct _CHSC_REQ26;
558+
typedef struct _CHSC_REQ26 CHSC_REQ26;
559+
struct _CHSC_REQ26 {
554560
/*000*/ HWORD length; /* Offset to response field */
555561
/*002*/ HWORD req; /* Request code */
556562
/*004*/ HWORD unknown4;
@@ -560,27 +566,26 @@ typedef struct CHSC_REQ26 {
560566
/*00C*/ FWORD unknownc;
561567
/*010*/ } ATTRIBUTE_PACKED;
562568

563-
typedef struct CHSC_REQ30 {
569+
struct _CHSC_REQ30;
570+
typedef struct _CHSC_REQ30 CHSC_REQ30;
571+
struct _CHSC_REQ30 {
564572
/*000*/ HWORD length; /* Offset to response field */
565573
/*002*/ HWORD req; /* Request code */
566574
/*004*/ BYTE unknown4;
567575
/*005*/ BYTE unknown5[3];
568576
/*008*/ FWORD unknown8[6];
569577
/*020*/ } ATTRIBUTE_PACKED;
570578

571-
typedef struct CHSC_REQ32 { /* Store Configur. Component */
579+
struct _CHSC_REQ32;
580+
typedef struct _CHSC_REQ32 CHSC_REQ32;
581+
struct _CHSC_REQ32 { /* Store Configur. Component */
572582
/*000*/ HWORD length; /* Offset to response field */
573583
/*002*/ HWORD req; /* Request code */
574584
/*004*/ BYTE ctype;
575585
/*005*/ BYTE unknown5[3];
576586
/*008*/ FWORD unknown8[6];
577587
/*020*/ } ATTRIBUTE_PACKED;
578588

579-
typedef struct CHSC_REQ1 CHSC_REQ1;
580-
typedef struct CHSC_REQC CHSC_REQC;
581-
typedef struct CHSC_REQ26 CHSC_REQ26;
582-
typedef struct CHSC_REQ30 CHSC_REQ30;
583-
typedef struct CHSC_REQ32 CHSC_REQ32;
584589

585590

586591
/*-------------------------------------------------------------------*/

0 commit comments

Comments
 (0)