1 /* SERVICE.H (c) Copyright Jan Jaeger, 1999-2009 */ 2 /* Service Processor Architectured fields */ 3 4 #if !defined(_SERVICE_H) 5 6 #define _SERVICE_H 7 8 /*-------------------------------------------------------------------*/ 9 /* Service Call Logical Processor command word definitions */ 10 /*-------------------------------------------------------------------*/ 11 #define SCLP_READ_SCP_INFO 0x00020001 12 #define SCLP_READ_IFL_INFO 0x00120001 13 #define SCLP_READ_CHP_INFO 0x00030001 14 #define SCLP_READ_CSI_INFO 0x001C0001 15 16 #define SCLP_READ_XST_MAP 0x00250001 17 18 #define SCLP_WRITE_EVENT_DATA 0x00760005 19 #define SCLP_READ_EVENT_DATA 0x00770005 20 #define SCLP_WRITE_EVENT_MASK 0x00780005 21 22 #define SCLP_DECONFIGURE_CPU 0x00100001 23 #define SCLP_CONFIGURE_CPU 0x00110001 24 25 #define SCLP_DISCONNECT_VF 0x001A0001 26 #define SCLP_CONNECT_VF 0x001B0001 27 28 #define SCLP_COMMAND_MASK 0xFFFF00FF 29 #define SCLP_COMMAND_CLASS 0x000000FF 30 #define SCLP_RESOURCE_MASK 0x0000FF00 31 #define SCLP_RESOURCE_SHIFT 8 32 33 /*-------------------------------------------------------------------*/ 34 /* Service Call Control Block structure definitions */ 35 /*-------------------------------------------------------------------*/ 36 typedef struct _SCCB_HEADER { 37 HWORD length; /* Total length of SCCB */ 38 BYTE flag; /* Flag byte */ 39 BYTE resv1[2]; /* Reserved */ 40 BYTE type; /* Request type */ 41 BYTE reas; /* Reason code */ 42 BYTE resp; /* Response class code */ 43 } SCCB_HEADER; 44 45 /* Bit definitions for SCCB header flag byte */ 46 #define SCCB_FLAG_SYNC 0x80 /* Synchronous request */ 47 48 /* Bit definitions for SCCB header request type */ 49 #define SCCB_TYPE_VARIABLE 0x80 /* Variable request */ 50 51 /* Bit definitions for SCCB header reason code */ 52 #define SCCB_REAS_NONE 0x00 /* No reason */ 53 #define SCCB_REAS_NOT_PGBNDRY 0x01 /* SCCB crosses page boundary*/ 54 #define SCCB_REAS_ODD_LENGTH 0x02 /* Length not multiple of 8 */ 55 #define SCCB_REAS_TOO_SHORT 0x03 /* Length is inadequate */ 56 #define SCCB_REAS_NOACTION 0x02 /* Resource in req. state */ 57 #define SCCB_REAS_STANDBY 0x04 /* Resource in standby state */ 58 #define SCCB_REAS_INVALID_CMD 0x01 /* Invalid SCLP command code */ 59 #define SCCB_REAS_INVALID_RSCP 0x03 /* Invalid resource in parm */ 60 #define SCCB_REAS_IMPROPER_RSC 0x05 /* Resource in improper state*/ 61 #define SCCB_REAS_INVALID_RSC 0x09 /* Invalid resource */ 62 63 /* Bit definitions for SCCB header response class code */ 64 #define SCCB_RESP_BLOCK_ERROR 0x00 /* Data block error */ 65 #define SCCB_RESP_INFO 0x10 /* Information returned */ 66 #define SCCB_RESP_COMPLETE 0x20 /* Command complete */ 67 #define SCCB_RESP_BACKOUT 0x40 /* Command backed out */ 68 #define SCCB_RESP_REJECT 0xF0 /* Command reject */ 69 70 // #ifdef FEATURE_SYSTEM_CONSOLE 71 #define SCCB_REAS_NO_EVENTS 0x60 /* No outstanding EVENTs */ 72 #define SCCB_RESP_NO_EVENTS 0xF0 73 #define SCCB_REAS_EVENTS_SUP 0x62 /* All events suppressed */ 74 #define SCCB_RESP_EVENTS_SUP 0xF0 75 #define SCCB_REAS_INVALID_MASK 0x70 /* Invalid events mask */ 76 #define SCCB_RESP_INVALID_MASK 0xF0 77 #define SCCB_REAS_MAX_BUFF 0x71 /* Buffer exceeds maximum */ 78 #define SCCB_RESP_MAX_BUFF 0xF0 79 #define SCCB_REAS_BUFF_LEN_ERR 0x72 /* Buffer len verification */ 80 #define SCCB_RESP_BUFF_LEN_ERR 0xF0 81 #define SCCB_REAS_SYNTAX_ERROR 0x73 /* Buffer syntax error */ 82 #define SCCB_RESP_SYNTAX_ERROR 0xF0 83 #define SCCB_REAS_INVALID_MSKL 0x74 /* Invalid mask length */ 84 #define SCCB_RESP_INVALID_MSKL 0xF0 85 #define SCCB_REAS_EXCEEDS_SCCB 0x75 /* Exceeds SCCB max capacity */ 86 #define SCCB_RESP_EXCEEDS_SCCB 0xF0 87 // #endif /*FEATURE_SYSTEM_CONSOLE*/ 88 89 /* SCP information data area */ 90 typedef struct _SCCB_SCP_INFO { 91 HWORD realinum; /* Number of real storage 92 increments installed */ 93 BYTE realiszm; /* Size of each real storage 94 increment in MB */ 95 BYTE realbszk; /* Size of each real storage 96 block in KB */ 97 HWORD realiint; /* Real storage increment 98 block interleave interval */ 99 HWORD resv2; /* Reserved */ 100 HWORD numcpu; /* Number of CPUs installed */ 101 HWORD offcpu; /* Offset from start of SCCB 102 to CPU information array */ 103 HWORD numhsa; /* Number of HSAs */ 104 HWORD offhsa; /* Offset from start of SCCB 105 to HSA information array */ 106 BYTE loadparm[8]; /* Load parameter */ 107 FWORD xpndinum; /* Number of expanded storage 108 increments installed */ 109 FWORD xpndsz4K; /* Number of 4KB blocks in an 110 expanded storage increment*/ 111 HWORD xpndenum; /* Number of expanded storage 112 elements installed */ 113 HWORD resv3; /* Reserved */ 114 HWORD vectssiz; /* Vector section size */ 115 HWORD vectpsum; /* Vector partial sum number */ 116 BYTE ifm[8]; /* Installed facilities */ 117 BYTE resv4[8]; /* Reserved */ 118 HWORD maxresgp; /* Maximum resource group */ 119 BYTE resv5[6]; /* Reserved */ 120 HWORD nummpf; /* Number of entries in MPF 121 information array */ 122 HWORD offmpf; /* Offset from start of SCCB 123 to MPF information array */ 124 BYTE resv6[4]; /* Reserved */ 125 BYTE cfg[6]; /* Config characteristics */ 126 FWORD rcci; /* Capacity */ 127 BYTE cfg11; /* Config char. byte 11 */ 128 BYTE numcrl; /* Max #of copy and reassign 129 list elements allowed */ 130 FWORD etrtol; /* ETR sync check tolerance */ 131 BYTE resv60[3]; 132 BYTE maxvm; /* Max guest storage size 133 >= 31 and <= 64 (2**pow)-1 134 is the max supported 135 guest real size. 0 means 136 not constrained. */ 137 FWORD grzm; /* Addess increment size in 138 units of 1M, valid only 139 if realiszm is zero */ 140 DBLWRD grnmx; /* Maximum increment number 141 when it is larger then 142 64K or when ESAME is on */ 143 BYTE resv8[16]; /* Reserved */ 144 } SCCB_SCP_INFO; 145 146 /* Bit definitions for installed facilities */ 147 #define SCCB_IFM0_CHANNEL_PATH_INFORMATION 0x80 148 #define SCCB_IFM0_CHANNEL_PATH_SUBSYSTEM_COMMAND 0x40 149 #define SCCB_IFM0_CHANNEL_PATH_RECONFIG 0x20 150 #define SCCB_IFM0_CPU_INFORMATION 0x08 151 #define SCCB_IFM0_CPU_RECONFIG 0x04 152 #define SCCB_IFM1_SIGNAL_ALARM 0x80 153 #define SCCB_IFM1_WRITE_OPERATOR_MESSAGE 0x40 154 #define SCCB_IFM1_STORE_STATUS_ON_LOAD 0x20 155 #define SCCB_IFM1_RESTART_REASONS 0x10 156 #define SCCB_IFM1_INSTRUCTION_ADDRESS_TRACE_BUFFER 0x08 157 #define SCCB_IFM1_LOAD_PARAMETER 0x04 158 #define SCCB_IFM1_READ_AND_WRITE_DATA 0x02 159 #define SCCB_IFM2_REAL_STORAGE_INCREMENT_RECONFIG 0x80 160 #define SCCB_IFM2_REAL_STORAGE_ELEMENT_INFO 0x40 161 #define SCCB_IFM2_REAL_STORAGE_ELEMENT_RECONFIG 0x20 162 #define SCCB_IFM2_COPY_AND_REASSIGN_STORAGE 0x10 163 #define SCCB_IFM2_EXTENDED_STORAGE_USABILITY_MAP 0x08 164 #define SCCB_IFM2_EXTENDED_STORAGE_ELEMENT_INFO 0x04 165 #define SCCB_IFM2_EXTENDED_STORAGE_ELEMENT_RECONFIG 0x02 166 #define SCCB_IFM2_COPY_AND_REASSIGN_STORAGE_LIST 0x01 167 #define SCCB_IFM3_VECTOR_FEATURE_RECONFIG 0x80 168 #define SCCB_IFM3_READ_WRITE_EVENT_FEATURE 0x40 169 #define SCCB_IFM3_EXTENDED_STORAGE_USABILITY_MAP_EXT 0x20 170 #define SCCB_IFM3_READ_RESOURCE_GROUP_INFO 0x08 171 #define SCCB_IFM4_READ_STORAGE_STATUS 0x80 172 173 /* Bit definitions for configuration characteristics */ 174 #define SCCB_CFG0_LOGICALLY_PARTITIONED 0x80 175 #define SCCB_CFG0_SUPPRESSION_ON_PROTECTION 0x20 176 #define SCCB_CFG0_INITIATE_RESET 0x10 177 #define SCCB_CFG0_STORE_CHANNEL_SUBSYS_CHARACTERISTICS 0x08 178 #define SCCB_CFG0_FAST_SYNCHRONOUS_DATA_MOVER 0x01 179 #define SCCB_CFG0_MVPG_FOR_ALL_GUESTS 0x04 180 #define SCCB_CFG0_UNKNOWN_BUT_SET_UNDER_VM 0x02 181 #define SCCB_CFG1_CSLO 0x40 182 #define SCCB_CFG2_DEVICE_ACTIVE_ONLY_MEASUREMENT 0x40 183 #define SCCB_CFG2_CALLED_SPACE_IDENTIFICATION 0x02 184 #define SCCB_CFG2_CHECKSUM_INSTRUCTION 0x01 185 #define SCCB_CFG3_RESUME_PROGRAM 0x80 186 #define SCCB_CFG3_PERFORM_LOCKED_OPERATION 0x40 187 #define SCCB_CFG3_IMMEDIATE_AND_RELATIVE 0x10 188 #define SCCB_CFG3_COMPARE_AND_MOVE_EXTENDED 0x08 189 #define SCCB_CFG3_BRANCH_AND_SET_AUTHORITY 0x04 190 #define SCCB_CFG3_EXTENDED_FLOATING_POINT 0x02 191 #define SCCB_CFG3_EXTENDED_LOGICAL_COMPUTATION_FACILITY 0x01 192 #define SCCB_CFG4_EXTENDED_TOD_CLOCK 0x80 193 #define SCCB_CFG4_EXTENDED_TRANSLATION 0x40 194 #define SCCB_CFG4_LOAD_REVERSED_FACILITY 0x20 195 #define SCCB_CFG4_EXTENDED_TRANSLATION_FACILITY2 0x10 196 #define SCCB_CFG4_STORE_SYSTEM_INFORMATION 0x08 197 #define SCCB_CFG4_LPAR_CLUSTERING 0x02 198 #define SCCB_CFG4_IFA_FACILITY 0x01 199 #define SCCB_CFG5_SENSE_RUNNING_STATUS 0x08 200 #define SCCB_CFG5_ESAME 0x01 201 #define SCCB_CFGB_PER_3 0x04 202 #define SCCB_CFGB_LOAD_WITH_DUMP 0x02 203 #define SCCB_CFGB_LIST_DIRECTED_IPL 0x01 204 205 /* CPU information array entry */ 206 typedef struct _SCCB_CPU_INFO { 207 BYTE cpa; /* CPU address */ 208 BYTE tod; /* TOD clock number */ 209 BYTE cpf[12]; /* RCPU facility map */ 210 BYTE ptyp; /* Processor type */ 211 BYTE ksid; /* Crypto unit identifier */ 212 } SCCB_CPU_INFO; 213 214 /* Bit definitions for CPU installed features */ 215 #define SCCB_CPF0_SIE_370_MODE 0x80 216 #define SCCB_CPF0_SIE_XA_MODE 0x40 217 #define SCCB_CPF0_SIE_SET_II_370_MODE 0x20 218 #define SCCB_CPF0_SIE_SET_II_XA_MODE 0x10 219 #define SCCB_CPF0_SIE_NEW_INTERCEPT_FORMAT 0x08 220 #define SCCB_CPF0_STORAGE_KEY_ASSIST 0x04 221 #define SCCB_CPF0_MULTIPLE_CONTROLLED_DATA_SPACE 0x02 222 #define SCCB_CPF1_IO_INTERPRETATION_LEVEL_2 0x40 223 #define SCCB_CPF1_GUEST_PER_ENHANCED 0x20 224 #define SCCB_CPF1_SIGP_INTERPRETATION_ASSIST 0x08 225 #define SCCB_CPF1_RCP_BYPASS_FACILITY 0x04 226 #define SCCB_CPF1_REGION_RELOCATE_FACILITY 0x02 227 #define SCCB_CPF1_EXPEDITE_TIMER_PROCESSING 0x01 228 #define SCCB_CPF2_VECTOR_FEATURE_INSTALLED 0x80 229 #define SCCB_CPF2_VECTOR_FEATURE_CONNECTED 0x40 230 #define SCCB_CPF2_VECTOR_FEATURE_STANDBY_STATE 0x20 231 #define SCCB_CPF2_CRYPTO_FEATURE_ACCESSED 0x10 232 #define SCCB_CPF2_EXPEDITE_RUN_PROCESSING 0x04 233 #define SCCB_CPF3_PRIVATE_SPACE_FEATURE 0x80 234 #define SCCB_CPF3_FETCH_ONLY_BIT 0x40 235 #define SCCB_CPF3_PER2_INSTALLED 0x01 236 #define SCCB_CPF4_OMISION_GR_ALTERATION_370 0x80 237 #define SCCB_CPF5_GUEST_WAIT_STATE_ASSIST 0x40 238 239 /* Definitions for processor type code */ 240 #define SCCB_PTYP_CP 0 241 #define SCCB_PTYP_ICF 1 242 #define SCCB_PTYP_IFA 2 243 #define SCCB_PTYP_IFL 3 244 #define SCCB_PTYP_SUP 5 245 #define SCCB_PTYP_MAX 5 /*(maximum value)*/ 246 247 /* processor type macro */ 248 #define PTYPSTR(i) ( \ 249 sysblk.ptyp[(i)] == SCCB_PTYP_CP ? "CP" : \ 250 sysblk.ptyp[(i)] == SCCB_PTYP_ICF ? "CF" : \ 251 sysblk.ptyp[(i)] == SCCB_PTYP_IFA ? "AP" : \ 252 sysblk.ptyp[(i)] == SCCB_PTYP_IFL ? "IL" : \ 253 sysblk.ptyp[(i)] == SCCB_PTYP_SUP ? "IP" : \ 254 "<unknown processor type>") 255 256 /* Definitions for crypto unit identifier */ 257 #define SCCB_KSID_CRYPTO_UNIT_ID 0x01 258 259 /* HSA information array entry */ 260 typedef struct _SCCB_HSA_INFO { 261 HWORD hssz; /* Size of HSA in 4K blocks */ 262 FWORD ahsa; /* Address of HSA */ 263 } SCCB_HSA_INFO; 264 265 /* MPF information array entry */ 266 typedef struct _SCCB_MPF_INFO { 267 HWORD mpfy; /* MPF info array entry */ 268 } SCCB_MPF_INFO; 269 270 /* Channel path information data area */ 271 typedef struct _SCCB_CHP_INFO { 272 BYTE installed[32]; /* Channels installed bits */ 273 BYTE standby[32]; /* Channels standby bits */ 274 BYTE online[32]; /* Channels online bits */ 275 } SCCB_CHP_INFO; 276 277 /* Channel path information data area */ 278 typedef struct _SCCB_CHSET { 279 BYTE chanset0a[32]; /* 370 channel set 0A */ 280 BYTE chanset1a[32]; /* 370 channel set 1A */ 281 BYTE chanset0b[32]; /* 370 channel set 0B */ 282 BYTE chanset1b[32]; /* 370 channel set 1B */ 283 BYTE csconfig; /* Channel set configuration */ 284 BYTE resv[23]; /* Reserved, set to zero */ 285 } SCCB_CHSET_INFO; 286 287 /* Read Channel Subsystem Information data area */ 288 typedef struct _SCCB_CSI_INFO { 289 BYTE csif[8]; /* Channel Subsystem installed 290 facility field */ 291 BYTE resv[48]; 292 } SCCB_CSI_INFO; 293 294 /* Bit definitions for channel subsystem installed facilities */ 295 #define SCCB_CSI0_CANCEL_IO_REQUEST_FACILITY 0x02 296 #define SCCB_CSI0_CONCURRENT_SENSE_FACILITY 0x01 297 298 // #ifdef FEATURE_SYSTEM_CONSOLE 299 /* Write Event Mask */ 300 typedef struct _SCCB_EVENT_MASK { 301 HWORD reserved; 302 HWORD length; /* Event mask length */ 303 BYTE masks[32]; /* Event masks */ 304 // FWORD cp_recv_mask; /* These mask fields have */ 305 // FWORD cp_send_mask; /* the length defined by */ 306 // FWORD sclp_recv_mask; /* the length halfword */ 307 // FWORD sclp_send_mask; 308 } SCCB_EVENT_MASK; 309 310 #define SCCB_EVENT_CONS_RECV_MASK ( \ 311 (0x80000000 >> (SCCB_EVD_TYPE_MSG-1)) | \ 312 (0x80000000 >> (SCCB_EVD_TYPE_PRIOR-1)) ) 313 #define SCCB_EVENT_CONS_SEND_MASK ( \ 314 (0x80000000 >> (SCCB_EVD_TYPE_OPCMD-1)) | \ 315 (0x80000000 >> (SCCB_EVD_TYPE_PRIOR-1)) | \ 316 (0x80000000 >> (SCCB_EVD_TYPE_CPCMD-1)) ) 317 318 /* Read/Write Event Data Header */ 319 typedef struct _SCCB_EVD_HDR { 320 HWORD totlen; /* Event Data Buffer total 321 length */ 322 BYTE type; 323 #define SCCB_EVD_TYPE_OPCMD 0x01 /* Operator command */ 324 #define SCCB_EVD_TYPE_MSG 0x02 /* Message from Control Pgm */ 325 // #if defined(FEATURE_SCEDIO ) 326 #define SCCB_EVD_TYPE_SCEDIO 0x07 /* SCE DASD I/O */ 327 // #endif /*defined(FEATURE_SCEDIO )*/ 328 #define SCCB_EVD_TYPE_STATECH 0x08 /* State Change */ 329 #define SCCB_EVD_TYPE_PRIOR 0x09 /* Priority message/command */ 330 #define SCCB_EVD_TYPE_CPIDENT 0x0B /* CntlProgIdent */ 331 #define SCCB_EVD_TYPE_VT220 0x1A /* VT220 Msg */ 332 #define SCCB_EVD_TYPE_SYSG 0x1B /* 3270 Msg (SYSG console) */ 333 #define SCCB_EVD_TYPE_SIGQ 0x1D /* SigQuiesce */ 334 #define SCCB_EVD_TYPE_CPCMD 0x20 /* CntlProgOpCmd */ 335 BYTE flag; 336 #define SCCB_EVD_FLAG_PROC 0x80 /* Event successful */ 337 HWORD resv; /* Reserved for future use */ 338 } SCCB_EVD_HDR; 339 340 341 /* Read/Write Event Data Buffer */ 342 typedef struct _SCCB_EVD_BK { 343 HWORD msglen; 344 BYTE const1[51]; 345 HWORD cplen; /* CP message length */ 346 BYTE const2[24]; 347 HWORD tdlen; /* Text Data length */ 348 BYTE const3[2]; 349 BYTE sdtlen; 350 BYTE const4; /* Self defining tag */ 351 BYTE tmlen; 352 BYTE const5; /* Text Message format */ 353 // BYTE txtmsg[n]; 354 } SCCB_EVD_BK; 355 356 /* Message Control Data Block */ 357 typedef struct _SCCB_MCD_BK { 358 HWORD length; /* Total length of MCD */ 359 HWORD type; /* Type must be 0x0001 */ 360 FWORD tag; /* Tag must be 0xD4C4C240 */ 361 FWORD revcd; /* Revision code 0x00000001 */ 362 } SCCB_MCD_BK; 363 364 /* Message Control Data Block Header */ 365 typedef struct _SCCB_OBJ_HDR { 366 HWORD length; /* Total length of OBJ */ 367 HWORD type; /* Object type */ 368 #define SCCB_OBJ_TYPE_GENERAL 0x0001 /* General Object */ 369 #define SCCB_OBJ_TYPE_CPO 0x0002 /* Control Program Object */ 370 #define SCCB_OBJ_TYPE_NLS 0x0003 /* NLS data Object */ 371 #define SCCB_OBJ_TYPE_MESSAGE 0x0004 /* Message Text Object */ 372 } SCCB_OBJ_HDR; 373 374 /* Message Control Data Block Message Text Object */ 375 typedef struct _SCCB_MTO_BK { 376 BYTE ltflag[2]; /* Line type flag */ 377 #define SCCB_MTO_LTFLG0_CNTL 0x80 /* Control text line */ 378 #define SCCB_MTO_LTFLG0_LABEL 0x40 /* Label text line */ 379 #define SCCB_MTO_LTFLG0_DATA 0x20 /* Data text line */ 380 #define SCCB_MTO_LTFLG0_END 0x10 /* Last line of message */ 381 #define SCCB_MTO_LTFLG0_PROMPT 0x08 /* Prompt line - response 382 requested (WTOR) */ 383 #define SCCB_MTO_LTFLG0_DBCS 0x04 /* DBCS text */ 384 #define SCCB_MTO_LTFLG0_MIX 0x02 /* Mixed SBCS/DBCS text */ 385 #define SCCB_MTO_LTFLG1_OVER 0x01 /* Foreground presentation 386 field override */ 387 BYTE presattr[4]; /* Presentation Attribute 388 Byte 0 - control 389 Byte 1 - color 390 Byte 2 - highlighting 391 Byte 3 - intensity */ 392 #define SCCB_MTO_PRATTR0_ALARM 0x80 /* Sound alarm (console) */ 393 #define SCCB_MTO_PRATTR3_HIGH 0xE8 /* Highlighted */ 394 #define SCCB_MTO_PRATTR3_NORM 0xE4 /* Normal */ 395 } SCCB_MTO_BK; 396 397 /* Message Control Data Block General Object */ 398 typedef struct _SCCB_MGO_BK { 399 FWORD seq; /* Message DOM ID */ 400 BYTE time[11]; /* C'HH.MM.SS.th' */ 401 BYTE resv1; 402 BYTE date[7]; /* C'YYYYDDD' */ 403 BYTE resv2; 404 BYTE mflag[2]; /* Message Flags */ 405 #define SCCB_MGO_MFLAG0_DOM 0x80 /* Delete Operator Message */ 406 #define SCCB_MGO_MFLAG0_ALARM 0x40 /* Sound the SCLP alarm */ 407 #define SCCB_MGO_MFLAG0_HOLD 0x20 /* Hold message until DOM */ 408 BYTE presattr[4]; /* Presentation Attribute 409 Byte 0 - control 410 Byte 1 - color 411 Byte 2 - highlighting 412 Byte 3 - intensity */ 413 #define SCCB_MGO_PRATTR0_ALARM 0x80 /* Sound alarm (console) */ 414 #define SCCB_MGO_PRATTR3_HIGH 0xE8 /* Highlighted */ 415 #define SCCB_MGO_PRATTR3_NORM 0xE4 /* Normal */ 416 BYTE bckattr[4]; /* Background presentation 417 attributes - covers all 418 message-test foreground 419 presentation attribute 420 field overrides */ 421 BYTE sysname[8]; /* Originating system name */ 422 BYTE jobname[8]; /* Jobname or guestname */ 423 } SCCB_MGO_BK; 424 425 /* Control Program Information */ 426 typedef struct _SCCB_CPI_BK { 427 BYTE id_fmt; 428 BYTE resv0; 429 BYTE system_type[8]; 430 DBLWRD resv1; 431 BYTE system_name[8]; 432 DBLWRD resv2; 433 DBLWRD system_level; 434 DBLWRD resv3; 435 BYTE sysplex_name[8]; 436 BYTE resv4[16]; 437 } SCCB_CPI_BK; 438 439 /* Message Control Data Block NLS Object */ 440 typedef struct _SCCB_NLS_BK { 441 HWORD scpgid; /* CPGID for SBCS (def 037) */ 442 HWORD scpsgid; /* CPSGID for SBCS (def 637) */ 443 HWORD dcpgid; /* CPGID for DBCS (def 037) */ 444 HWORD dcpsgid; /* CPSGID for DBCS (def 637) */ 445 } SCCB_NLS_BK; 446 447 /* Signal Quiesce */ 448 typedef struct _SCCB_SGQ_BK { 449 HWORD count; /* Countdown in units */ 450 BYTE unit; /* Unit type */ 451 #define SCCB_SGQ_SEC 0 452 #define SCCB_SGQ_MIN 1 453 #define SCCB_SGQ_HR 2 454 } SCCB_SGQ_BK; 455 456 // #endif /*FEATURE_SYSTEM_CONSOLE*/ 457 458 // #ifdef FEATURE_EXPANDED_STORAGE 459 typedef struct _SCCB_XST_INFO { 460 HWORD elmid; /* Extended storage element 461 id */ 462 BYTE resv1[6]; 463 FWORD elmsin; /* Starting increment number */ 464 FWORD elmein; /* Ending increment number */ 465 BYTE elmchar; /* Element characteristics */ 466 #define SCCB_XST_INFO_ELMCHAR_REQ 0x80; /* Required element */ 467 BYTE resv2[39]; 468 } SCCB_XST_INFO; 469 470 typedef struct _SCCB_XST_MAP { 471 FWORD incnum; /* Increment number */ 472 FWORD resv; 473 // BYTE map[]; /* Bitmap of all usable 474 // expanded storage blocks */ 475 } SCCB_XST_MAP; 476 // #endif /*FEATURE_EXPANDED_STORAGE*/ 477 478 479 // #if defined(FEATURE_SCEDIO ) 480 /* SCE DASD I/O Request */ 481 typedef struct _SCCB_SCEDIO_BK { 482 BYTE flag0; 483 BYTE flag1; 484 #define SCCB_SCEDIO_FLG1_IOR 0x03 485 #define SCCB_SCEDIO_FLG1_IOV 0x04 486 BYTE flag2; 487 BYTE flag3; 488 #define SCCB_SCEDIO_FLG3_COMPLETE 0x80 489 490 } SCCB_SCEDIO_BK; 491 492 typedef struct _SCCB_SCEDIOV_BK { 493 BYTE type; 494 #define SCCB_SCEDIOV_TYPE_INIT 0x00 495 #define SCCB_SCEDIOV_TYPE_READ 0x01 496 #define SCCB_SCEDIOV_TYPE_CREATE 0x02 497 #define SCCB_SCEDIOV_TYPE_APPEND 0x03 498 BYTE flag1; 499 BYTE flag2; 500 BYTE flag3; 501 DBLWRD seek; 502 DBLWRD ncomp; 503 DBLWRD length; 504 DBLWRD resv2; 505 DBLWRD resv3; 506 DBLWRD sto; 507 BYTE filename[256]; 508 } SCCB_SCEDIOV_BK; 509 510 typedef struct _SCCB_SCEDIOR_BK { 511 BYTE type; 512 #define SCCB_SCEDIOR_TYPE_INIT 0x00 513 #define SCCB_SCEDIOR_TYPE_READ 0x01 514 BYTE flag1; 515 BYTE flag2; 516 BYTE flag3; 517 FWORD origin; 518 FWORD resv1; 519 FWORD resv2; 520 BYTE image[8]; 521 } SCCB_SCEDIOR_BK; 522 523 // #endif /*defined(FEATURE_SCEDIO )*/ 524 525 #endif /*!defined(_SERVICE_H)*/ 526