36
36
/*-------------------------------------------------------------------*/
37
37
/* CHSC_REQ: Generic Channel Subsystem Call request */
38
38
/*-------------------------------------------------------------------*/
39
- typedef struct CHSC_REQ {
39
+ struct _CHSC_REQ ;
40
+ typedef struct _CHSC_REQ CHSC_REQ ;
41
+ struct _CHSC_REQ {
40
42
/*000*/ HWORD length ; /* Offset to response field */
41
43
/*002*/ HWORD req ; /* Request code */
42
44
/* The following request codes are in use, but the request name */
@@ -91,13 +93,13 @@ typedef struct CHSC_REQ {
91
93
/*004*/ FWORD resv [3 ];
92
94
/*010*/ } ATTRIBUTE_PACKED ;
93
95
94
- typedef struct CHSC_REQ CHSC_REQ ;
95
-
96
96
97
97
/*-------------------------------------------------------------------*/
98
98
/* CHSC_RSP: Generic Channel Subsystem Call response */
99
99
/*-------------------------------------------------------------------*/
100
- typedef struct CHSC_RSP {
100
+ struct _CHSC_RSP ;
101
+ typedef struct _CHSC_RSP CHSC_RSP ;
102
+ struct _CHSC_RSP {
101
103
/*000*/ HWORD length ; /* Length of response field */
102
104
/*002*/ HWORD rsp ; /* Reponse code */
103
105
#define CHSC_REQ_OK 0x0001 /* No error */
@@ -113,8 +115,6 @@ typedef struct CHSC_RSP {
113
115
/*004*/ FWORD info ;
114
116
/*008*/ } ATTRIBUTE_PACKED ;
115
117
116
- typedef struct CHSC_RSP CHSC_RSP ;
117
-
118
118
119
119
/*-------------------------------------------------------------------*/
120
120
/* 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 )
173
173
/*-------------------------------------------------------------------*/
174
174
/* CHSC_REQ2: Store Channel Path Description request */
175
175
/*-------------------------------------------------------------------*/
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 */
177
179
/*000*/ HWORD length ; /* Offset to response field */
178
180
/*002*/ HWORD req ; /* Request code */
179
181
/*004*/ BYTE flags1 ;
@@ -189,14 +191,14 @@ typedef struct CHSC_REQ2 { /* Store Channel Path Desc */
189
191
/*00C*/ FWORD resv2 ;
190
192
/*010*/ } ATTRIBUTE_PACKED ;
191
193
192
- typedef struct CHSC_REQ2 CHSC_REQ2 ;
193
-
194
194
195
195
/*-------------------------------------------------------------------*/
196
196
/* CHSC_RSP2: Store Channel Path Description format 0 response */
197
197
/*-------------------------------------------------------------------*/
198
198
/* 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 */
200
202
/*000*/ BYTE flags1 ; /* Flags */
201
203
#define CHSC_RSP2_F1_CHPID_VALID 0x80 /* */
202
204
#define CHSC_RSP2_F1_CHLA_VALID 0x40 /* */
@@ -211,14 +213,14 @@ typedef struct CHSC_RSP2 { /* Store Channel Path Desc */
211
213
/*007*/ BYTE resv7 ;
212
214
/*008*/ } ATTRIBUTE_PACKED ;
213
215
214
- typedef struct CHSC_RSP2 CHSC_RSP2 ;
215
-
216
216
217
217
/*-------------------------------------------------------------------*/
218
218
/* CHSC_RSP2F1: Store Channel Path Description format 1 response */
219
219
/*-------------------------------------------------------------------*/
220
220
/* 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 */
222
224
/*000*/ BYTE flags1 ; /* Flags */
223
225
#define CHSC_RSP2F1_F1_CHPID_VALID 0x80 /* */
224
226
#define CHSC_RSP2F1_F1_LSN_VALID 0x20 /* */
@@ -236,13 +238,13 @@ typedef struct CHSC_RSP2F1 { /* Store Channel Path Desc */
236
238
/*010*/ FWORD resv3 [2 ];
237
239
/*018*/ } ATTRIBUTE_PACKED ;
238
240
239
- typedef struct CHSC_RSP2F1 CHSC_RSP2F1 ;
240
-
241
241
242
242
/*-------------------------------------------------------------------*/
243
243
/* CHSC_REQ4: Store Subchannel Description Data request */
244
244
/*-------------------------------------------------------------------*/
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 */
246
248
/*000*/ HWORD length ; /* Offset to response field */
247
249
/*002*/ HWORD req ; /* Request code */
248
250
/*004*/ HWORD ssidfmt ;
@@ -254,14 +256,14 @@ typedef struct CHSC_REQ4 { /* Store Subchann Descr Data */
254
256
/*00C*/ FWORD resv3 ;
255
257
/*010*/ } ATTRIBUTE_PACKED ;
256
258
257
- typedef struct CHSC_REQ4 CHSC_REQ4 ;
258
-
259
259
260
260
/*-------------------------------------------------------------------*/
261
261
/* CHSC_RSP4: Store Subchannel Description Data response */
262
262
/*-------------------------------------------------------------------*/
263
263
/* 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 */
265
267
/*000*/ BYTE flags1 ; /* Flags */
266
268
#define CHSC_RSP4_F1_SCH_VALID 0x80 /* Subchannel valid */
267
269
#define CHSC_RSP4_F1_DEV_VALID 0x40 /* Device number valid */
@@ -284,13 +286,13 @@ typedef struct CHSC_RSP4 { /* Store Subchann Descr Data */
284
286
/*010*/ HWORD fla [8 ]; /* Full link address array */
285
287
/*020*/ } ATTRIBUTE_PACKED ;
286
288
287
- typedef struct CHSC_RSP4 CHSC_RSP4 ;
288
-
289
289
290
290
/*-------------------------------------------------------------------*/
291
291
/* CHSC_REQ6: Store Subchannel Control-Unit Data request */
292
292
/*-------------------------------------------------------------------*/
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 */
294
296
/*000*/ HWORD length ; /* Offset to response field */
295
297
/*002*/ HWORD req ; /* Request code */
296
298
/*004*/ HWORD ssidfmt ;
@@ -304,14 +306,14 @@ typedef struct CHSC_REQ6 { /* Store Subchann. CU Data */
304
306
/*00C*/ FWORD resv3 ;
305
307
/*010*/ } ATTRIBUTE_PACKED ;
306
308
307
- typedef struct CHSC_REQ6 CHSC_REQ6 ;
308
-
309
309
310
310
/*-------------------------------------------------------------------*/
311
311
/* CHSC_RSP6: Store Subchannel Control-Unit Data response */
312
312
/*-------------------------------------------------------------------*/
313
313
/* 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 */
315
317
/*000*/ BYTE flags1 ; /* Flags */
316
318
#define CHSC_RSP6_F1_SCH_VALID 0x80 /* Subchannel valid */
317
319
#define CHSC_RSP6_F1_DEV_VALID 0x40 /* Device number valid */
@@ -333,26 +335,26 @@ typedef struct CHSC_RSP6 { /* Store Subchann. CU Data */
333
335
/*010*/ HWORD cun [8 ]; /* Control unit number array */
334
336
/*020*/ } ATTRIBUTE_PACKED ;
335
337
336
- typedef struct CHSC_RSP6 CHSC_RSP6 ;
337
-
338
338
339
339
/*-------------------------------------------------------------------*/
340
340
/* CHSC_REQ10: Store Channel-Subsystem Characteristics request */
341
341
/*-------------------------------------------------------------------*/
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 */
343
345
/*000*/ HWORD length ; /* Offset to response field */
344
346
/*002*/ HWORD req ; /* Request code */
345
347
/*004*/ FWORD resv [3 ]; /* Must be zero */
346
348
/*010*/ } ATTRIBUTE_PACKED ;
347
349
348
- typedef struct CHSC_REQ10 CHSC_REQ10 ;
349
-
350
350
351
351
/*-------------------------------------------------------------------*/
352
352
/* CHSC_RSP10: Store Channel-Subsystem Characteristics reponse */
353
353
/*-------------------------------------------------------------------*/
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 */
356
358
/*000*/ FWORD general_char [510 ];
357
359
/*7F8*/ FWORD chsc_char [508 ]; /* ZZ: Linux/390 code indicates
358
360
this field has a length of
@@ -363,13 +365,13 @@ typedef struct CHSC_RSP10 { /* Store Channel-Subsystem Characteristi
363
365
an error - *JJ/10/10/04*/
364
366
/*FE8*/ } ATTRIBUTE_PACKED ;
365
367
366
- typedef struct CHSC_RSP10 CHSC_RSP10 ;
367
-
368
368
369
369
/*-------------------------------------------------------------------*/
370
370
/* CHSC_REQ12: Store Configuration Information request */
371
371
/*-------------------------------------------------------------------*/
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 */
373
375
/*000*/ HWORD length ; /* Offset to response field */
374
376
/*002*/ HWORD req ; /* Request code */
375
377
/*004*/ BYTE flags ;
@@ -382,14 +384,14 @@ typedef struct CHSC_REQ12 { /* Store Config. Information */
382
384
/*008*/ DBLWRD resv008 ;
383
385
/*010*/ } ATTRIBUTE_PACKED ;
384
386
385
- typedef struct CHSC_REQ12 CHSC_REQ12 ;
386
-
387
387
388
388
/*-------------------------------------------------------------------*/
389
389
/* CHSC_RSP12: Store Configuration Information response */
390
390
/*-------------------------------------------------------------------*/
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 */
393
395
/*000*/ BYTE resv008 ;
394
396
/*001*/ BYTE flags ; /* Flags */
395
397
#define CHSC_RSP12_F1_CM 0x80 /* Configuration Mode */
@@ -414,13 +416,13 @@ typedef struct CHSC_RSP12 { /* Store Config. Information */
414
416
/*130*/ FWORD unknow138 [488 ];
415
417
/*8D0*/ } ATTRIBUTE_PACKED ;
416
418
417
- typedef struct CHSC_RSP12 CHSC_RSP12 ;
418
-
419
419
420
420
/*-------------------------------------------------------------------*/
421
421
/* CHSC_REQ21: Set Subchannel Indicator. Response is CHSC_RSP. */
422
422
/*-------------------------------------------------------------------*/
423
- typedef struct CHSC_REQ21 {
423
+ struct _CHSC_REQ21 ;
424
+ typedef struct _CHSC_REQ21 CHSC_REQ21 ;
425
+ struct _CHSC_REQ21 { /* Set Subchannel Indicator */
424
426
/*000*/ HWORD length ; /* Offset to response field */
425
427
/*002*/ HWORD req ; /* Request code */
426
428
/*004*/ HWORD opcode ; /* Operation Code */
@@ -443,13 +445,13 @@ typedef struct CHSC_REQ21 {
443
445
/*030*/ FWORD resvx [1004 ];
444
446
/*FE0*/ } ATTRIBUTE_PACKED ;
445
447
446
- typedef struct CHSC_REQ21 CHSC_REQ21 ;
447
-
448
448
449
449
/*-------------------------------------------------------------------*/
450
450
/* CHSC_REQ24: Store Subchannel QDIO Data request */
451
451
/*-------------------------------------------------------------------*/
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 */
453
455
/*000*/ HWORD length ; /* Offset to response field */
454
456
/*002*/ HWORD req ; /* Request code */
455
457
/*004*/ HWORD ssidfmt ;
@@ -461,14 +463,14 @@ typedef struct CHSC_REQ24 { /* Store Subchann. QDIO Data */
461
463
/*00C*/ FWORD resv2 ;
462
464
/*010*/ } ATTRIBUTE_PACKED ;
463
465
464
- typedef struct CHSC_REQ24 CHSC_REQ24 ;
465
-
466
466
467
467
/*-------------------------------------------------------------------*/
468
468
/* CHSC_RSP24: Store Subchannel QDIO Data response */
469
469
/*-------------------------------------------------------------------*/
470
470
/* 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 */
472
474
/*000*/ BYTE flags ; /* Flags for st QDIO Sch Data */
473
475
#define CHSC_FLAG_QDIO_CAPABILITY 0x80
474
476
#define CHSC_FLAG_VALIDITY 0x40
@@ -509,13 +511,13 @@ typedef struct CHSC_RSP24 { /* Store Subchann. QDIO Data */
509
511
/*01F*/ BYTE mmwc ;
510
512
/*020*/ } ATTRIBUTE_PACKED ;
511
513
512
- typedef struct CHSC_RSP24 CHSC_RSP24 ;
513
-
514
514
515
515
/*-------------------------------------------------------------------*/
516
516
/* CHSC_REQ31: Enable Facility request. The response is a CHSC_RSP. */
517
517
/*-------------------------------------------------------------------*/
518
- typedef struct CHSC_REQ31 { /* Enable Facility */
518
+ struct _CHSC_REQ31 ;
519
+ typedef struct _CHSC_REQ31 CHSC_REQ31 ;
520
+ struct _CHSC_REQ31 { /* Enable Facility */
519
521
/*000*/ HWORD length ; /* Offset to response field */
520
522
/*002*/ HWORD req ; /* Request code */
521
523
/*004*/ HWORD resv1 ;
@@ -526,15 +528,15 @@ typedef struct CHSC_REQ31 { /* Enable Facility */
526
528
/*010*/ FWORD opdata [252 ]; /* Operation Code Data */
527
529
/*400*/ } ATTRIBUTE_PACKED ;
528
530
529
- typedef struct CHSC_REQ31 CHSC_REQ31 ;
530
-
531
531
532
532
/*-------------------------------------------------------------------*/
533
533
/* Some requests that aren't supported yet. */
534
534
/*-------------------------------------------------------------------*/
535
535
536
536
/* 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 */
538
540
/*000*/ HWORD length ; /* Offset to response field */
539
541
/*002*/ HWORD req ; /* Request code */
540
542
/*004*/ BYTE resv1 [3 ];
@@ -544,13 +546,17 @@ typedef struct CHSC_REQ1 { /* Reset Control Unit */
544
546
/*00C*/ FWORD resv3 ;
545
547
/*010*/ } ATTRIBUTE_PACKED ;
546
548
547
- typedef struct CHSC_REQC {
549
+ struct _CHSC_REQC ;
550
+ typedef struct _CHSC_REQC CHSC_REQC ;
551
+ struct _CHSC_REQC {
548
552
/*000*/ HWORD length ; /* Offset to response field */
549
553
/*002*/ HWORD req ; /* Request code */
550
554
/*004*/ FWORD unknown4 [3 ];
551
555
/*010*/ } ATTRIBUTE_PACKED ;
552
556
553
- typedef struct CHSC_REQ26 {
557
+ struct _CHSC_REQ26 ;
558
+ typedef struct _CHSC_REQ26 CHSC_REQ26 ;
559
+ struct _CHSC_REQ26 {
554
560
/*000*/ HWORD length ; /* Offset to response field */
555
561
/*002*/ HWORD req ; /* Request code */
556
562
/*004*/ HWORD unknown4 ;
@@ -560,27 +566,26 @@ typedef struct CHSC_REQ26 {
560
566
/*00C*/ FWORD unknownc ;
561
567
/*010*/ } ATTRIBUTE_PACKED ;
562
568
563
- typedef struct CHSC_REQ30 {
569
+ struct _CHSC_REQ30 ;
570
+ typedef struct _CHSC_REQ30 CHSC_REQ30 ;
571
+ struct _CHSC_REQ30 {
564
572
/*000*/ HWORD length ; /* Offset to response field */
565
573
/*002*/ HWORD req ; /* Request code */
566
574
/*004*/ BYTE unknown4 ;
567
575
/*005*/ BYTE unknown5 [3 ];
568
576
/*008*/ FWORD unknown8 [6 ];
569
577
/*020*/ } ATTRIBUTE_PACKED ;
570
578
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 */
572
582
/*000*/ HWORD length ; /* Offset to response field */
573
583
/*002*/ HWORD req ; /* Request code */
574
584
/*004*/ BYTE ctype ;
575
585
/*005*/ BYTE unknown5 [3 ];
576
586
/*008*/ FWORD unknown8 [6 ];
577
587
/*020*/ } ATTRIBUTE_PACKED ;
578
588
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 ;
584
589
585
590
586
591
/*-------------------------------------------------------------------*/
0 commit comments