/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:38:02 by OpenVMS SDL EV3-3 */ /* Source: 16-MAR-2004 13:41:34 $1$DGA7274:[LIB_H.SRC]CWPSDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $CWPSDEF ***/ #ifndef __CWPSDEF_LOADED #define __CWPSDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /*+ */ /* cwpssrv - Common service structure header */ /* */ /* All cwpsxxx$ packets contain the following header information. */ /* */ /* Fields marked with ++ must be filled/zeroed by service-specific */ /* routines (at least for pcntrl services) */ /* */ /*- */ #include /* */ /* The CWPSSRV$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSSRV$M_BTX_DONE 0x1 #define CWPSSRV$M_SEC_CLASS 0x1 #define CWPSSRV$M_JPIBUF 0x2 #define CWPSSRV$M_NOQUOTA 0x4 #define CWPSSRV$M_GROUP_PRIV 0x8 #define CWPSSRV$M_WORLD_PRIV 0x10 #define CWPSSRV$M_SECAUDIT 0x20 #define CWPSSRV$M_NOAUDIT 0x40 #define CWPSSRV$M_OPER_PRIV 0x80 #define CWPSSRV$K_RETRY_CNT 5 /* five retries is about */ /* 4½ seconds */ #define CWPSSRV$K_LENGTH 112 /* length of data structure common */ #define CWPSSRV$K_SRVCODE_BEGIN 0 /* - marker for beginning of codes */ #define CWPSSRV$K_CANWAK 1 /* $CANWAK service */ #define CWPSSRV$K_DELPRC 2 /* $DELPRC service */ #define CWPSSRV$K_FORCEX 3 /* $FORCEX service */ #define CWPSSRV$K_RESUME 4 /* $RESUME service */ #define CWPSSRV$K_SCHDWK 5 /* $SCHDWK service */ #define CWPSSRV$K_SETPRI 6 /* $SETPRI service */ #define CWPSSRV$K_SUSPND 7 /* $SUSPND service */ #define CWPSSRV$K_WAKE 8 /* $WAKE service */ #define CWPSSRV$K_SRVCODE_END 9 /* - marker for end of SRV codes */ /* CWPS subtypes for other services */ #define CWPSSRV$K_GETJPI 20 /* $GETJPI service */ #define CWPSSRV$K_CREPRC 21 /* $CREPRC service */ #define CWPSSRV$K_TERMIN 22 /* process termination message */ /* CWPS subtypes for security service codes */ #define CWPSSRV$K_GRANTID 28 /* $GRANTID service */ #define CWPSSRV$K_REVOKID 29 /* $WAKE service */ #define CWPSSRV$K_VERSION_1 1 /* initial version */ #define CWPSSRV$K_VERSION_2 2 #define CWPSSRV$K_VERSION_3 3 #define CWPSSRV$K_VERSION_4 4 #define CWPSSRV$K_VERSION_5 5 #define CWPSSRV$K_VERSION_6 6 #define CWPSSRV$K_VERSION_7 7 #define CWPSSRV$K_VERSION_8 8 #define CWPSSRV$K_VERSION_9 9 #define CWPSSRV$K_VERSION_10 10 #define CWPSSRV$K_VERSION_11 11 #define CWPSSRV$K_VERSION_12 12 #define CWPSSRV$K_INITIAL_MAJ_VERS 1 #define CWPSSRV$K_INITIAL_MIN_VERS 1 #define CWPSSRV$S_$CWPSSRVDEF 112 typedef struct _cwpssrv { unsigned int cwpssrv$l_send_length; /* length sent to partner */ unsigned int cwpssrv$l_return_length; /* length returned from partner */ unsigned short int cwpssrv$w_size; /* size of structure ++ */ unsigned char cwpssrv$b_type; /* structure type code ++ */ unsigned char cwpssrv$b_subtype; /* structure subtype and service code ++ */ unsigned short int cwpssrv$w_btx_status; /* status of block transfer request */ __union { unsigned char cwpssrv$b_btx_flags; /* state of block transfer */ __struct { unsigned cwpssrv$v_btx_done : 1; /* block transfer is complete */ unsigned cwpssrv$v_fill_4_ : 7; } cwpssrv$r_fill_1_; } cwpssrv$r_fill_0_; unsigned char cwpssrv$b_func; /* CLSMSG request function code */ unsigned short int cwpssrv$w_srv_maj_vers; /* incompatible version formats */ unsigned short int cwpssrv$w_srv_min_vers; /* upwards compatible extensions */ unsigned short int cwpssrv$w_ext_maj_vers; /* incompatible version formats */ unsigned short int cwpssrv$w_ext_min_vers; /* upwards compatible extensions */ unsigned int cwpssrv$l_status; /* status from remote service */ unsigned int cwpssrv$l_bxfr_status; /* status from block transfer */ unsigned int cwpssrv$l_maximum_length; /* maximum possible return length */ __union { unsigned int cwpssrv$l_flags; /* longword of flags */ __struct { unsigned cwpssrv$v_sec_class : 1; /* sec class present... */ unsigned cwpssrv$v_jpibuf : 1; /* jpi requests buffered */ unsigned cwpssrv$v_noquota : 1; /* quota has not been charged */ unsigned cwpssrv$v_group_priv : 1; /* requestor running image with GROUP privilege */ unsigned cwpssrv$v_world_priv : 1; /* requestor running image with WORLD privilege */ unsigned cwpssrv$v_secaudit : 1; /* requestor running with mandatory process auditing */ unsigned cwpssrv$v_noaudit : 1; /* requestor is part of TCB */ unsigned cwpssrv$v_oper_priv : 1; /* requestor has OPER privilege */ } cwpssrv$r_fill_3_; } cwpssrv$r_fill_2_; unsigned int cwpssrv$l_ext_offset; /* offset to service-specific extension */ void *cwpssrv$a_post_routine; /* address of post-processing routine ++ */ unsigned int cwpssrv$l_rqstr_csid; /* CSID of the requestor's node */ unsigned int cwpssrv$l_rqstr_pid; /* IPID of the requestor */ unsigned int cwpssrv$l_rqstr_epid; /* EPID of the requestor */ unsigned int cwpssrv$l_rqstr_imgcnt; /* image count of requestor */ unsigned int cwpssrv$l_rqstr_rightslen; /* length of process rights info */ unsigned int cwpssrv$l_rqstr_rightsoff; /* offset to start of rights info */ void *cwpssrv$l_rqstr_pidadr; /* original pid address from user */ unsigned int cwpssrv$l_partner_csid; /* CSID of the partner node */ unsigned int cwpssrv$l_sought_epid; /* epid for target process */ unsigned int cwpssrv$l_return_epid; /* actual epid from target process */ unsigned short int cwpssrv$w_prcnamlen; /* length of target process name */ unsigned short int cwpssrv$w_prcnamoff; /* offset to start of target process name */ unsigned int cwpssrv$l_free_offset; /* offset to free data area */ unsigned int cwpssrv$l_spare1; /* zero if unused */ unsigned short int cwpssrv$w_spare2; /* zero if unused */ unsigned char cwpssrv$b_spare3; /* zero if unused */ unsigned char cwpssrv$b_retries_left; /* number of retries remaining */ unsigned __int64 cwpssrv$q_time; /* time structure allocated */ } CWPSSRV; #if !defined(__VAXC) #define cwpssrv$b_btx_flags cwpssrv$r_fill_0_.cwpssrv$b_btx_flags #define cwpssrv$v_btx_done cwpssrv$r_fill_0_.cwpssrv$r_fill_1_.cwpssrv$v_btx_done #define cwpssrv$l_flags cwpssrv$r_fill_2_.cwpssrv$l_flags #define cwpssrv$v_sec_class cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_sec_class #define cwpssrv$v_jpibuf cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_jpibuf #define cwpssrv$v_noquota cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_noquota #define cwpssrv$v_group_priv cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_group_priv #define cwpssrv$v_world_priv cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_world_priv #define cwpssrv$v_secaudit cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_secaudit #define cwpssrv$v_noaudit cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_noaudit #define cwpssrv$v_oper_priv cwpssrv$r_fill_2_.cwpssrv$r_fill_3_.cwpssrv$v_oper_priv #endif /* #if !defined(__VAXC) */ #define CWPS$_ENABLED 1 /* assemble the code */ #define CWPS$_NERVOUS 0 /* do reasonable checking */ #define CWPS$_SCARED 0 /* do a lot of consistency checking */ #define CWPS$_PARANOID 0 /* do excessive checking */ #define CWPS$_STATISTICS 1 /* collect statistics */ #define CWPSCAN$K_LENGTH 0 /* length of $CANWAK */ #define CWPSRES$K_LENGTH 0 /* length of $RESUME */ #define CWPSSUS$K_LENGTH 0 /* length of $SUSPND */ #define CWPSWAK$K_LENGTH 0 /* length of $WAKE */ /* */ /* The CWPSDEL$ structure is exchanged with remote nodes. Any updates */ /* to this structure must take mixed-version operation into account. */ /* Sender stores delprc flags argument (longword) in flags extension. */ #define CWPSDEL$K_LENGTH 4 /* length of data structure */ #define CWPSDEL$S_$CWPSDELDEF 4 /* Old size name - synonym */ typedef struct _cwpsdel { unsigned int cwpsdel$l_flags; /* flags to pass to remote */ } CWPSDEL; #define CWPSSRV$K_DELPRC_EXT_MIN_VERS 2 /* */ /* The CWPSFEX$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSFEX$K_LENGTH 4 /* length of data structure */ #define CWPSFEX$S_$CWPSFEXDEF 4 /* Old size name - synonym */ typedef struct _cwpsfex { unsigned int cwpsfex$l_code; /* code to pass to remote */ } CWPSFEX; /* Version # of 6-cell SETPRI extension */ #define CWPSSRV$K_SETPRI_MIN_VERS2 2 /* */ /* The CWPSPRI$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSPRI$K_LENGTH 24 /* length of data structure */ #define CWPSPRI$S_$CWPSPRIDEF 24 /* Old size name - synonym */ typedef struct _cwpspri { void *cwpspri$l_user_prvpri; /* address of user's prvpri cell */ unsigned int cwpspri$l_pri; /* priority we send to remote */ unsigned int cwpspri$l_prvpri; /* priority we receive from remote */ void *cwpspri$l_user_prvpol; /* address of user's prvpol cell */ unsigned int cwpspri$l_pol; /* policy we send to remote (or -1) */ unsigned int cwpspri$l_prvpol; /* prev policy we receive from remote */ } CWPSPRI; /* */ /* The CWPSSWK$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSSWK$K_LENGTH 16 /* length of data structure */ #define CWPSSWK$S_$CWPSSWKDEF 16 /* Old size name - synonym */ typedef struct _cwpsswk { unsigned __int64 cwpsswk$q_daytim; /* time to wake up */ unsigned __int64 cwpsswk$q_reptim; /* time to repeat wake up */ } CWPSSWK; /* */ /* The CWPSJPI$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSJPI$K_LENGTH 60 /* length of data structure */ #define CWPSJPI$S_$CWPSJPIDEF 60 /* Old size name - synonym */ typedef struct _cwpsjpi { unsigned int cwpsjpi$l_pscan_off; /* offset to start of pscanctx */ unsigned int cwpsjpi$l_itmoff; /* offset to item list in structure */ unsigned int cwpsjpi$l_bufoff; /* offset to return buffer */ unsigned int cwpsjpi$l_vecoff; /* offset to vector for item addr */ unsigned int cwpsjpi$l_acboff; /* offset to acb structure */ void *cwpsjpi$l_itmlst; /* address of original item list */ unsigned int cwpsjpi$l_buflen; /* length of user's buffers */ void *cwpsjpi$l_iosbadr; /* user's I/O status address */ unsigned __int64 cwpsjpi$q_iosb; /* return iosb contents */ void (*cwpsjpi$l_astadr)(); /* AST address */ unsigned int cwpsjpi$l_astprm; /* AST parameter */ void *cwpsjpi$l_pscanctx_addr; /* PSCANCTX record address */ unsigned short int cwpsjpi$w_pscan_seqnum; /* sequence number of PSCANCTX */ unsigned char cwpsjpi$b_efn; /* event flag to set */ unsigned char cwpsjpi$b_acmode; /* access mode of original call */ unsigned short int cwpsjpi$w_ctlflags; /* JPI$_GETJPI_CONTROL_FLAGS bits */ unsigned short int cwpsjpi$w_spare0; /* spare, align */ } CWPSJPI; #define CWPSJPI_64$K_LENGTH 40 /* length of data structure */ typedef struct _cwpsjpi_64 { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsjpi_64$pq_rqstr_pidadr; /* user's address for PID argument: cwpssrv$l_rqstr_pid for $GETJPI will be -1. */ #else unsigned __int64 cwpsjpi_64$pq_rqstr_pidadr; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsjpi_64$pq_itmlst; /* user's item list address: cwpsjpi$l_itmlst for $GETJPI will be -1. */ #else unsigned __int64 cwpsjpi_64$pq_itmlst; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsjpi_64$pq_iosbadr; /* user's IOSB address: cwpsjpi$l_iosbadr for $GETJPI will be -1. */ #else unsigned __int64 cwpsjpi_64$pq_iosbadr; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsjpi_64$pq_astadr; /* user's AST address: cwpsjpi$l_astadr will be -1. */ #else unsigned __int64 cwpsjpi_64$pq_astadr; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsjpi_64$pq_astprm; /* user's AST parameter: cwpsjpi$l_astprm will be -1. */ #else unsigned __int64 cwpsjpi_64$pq_astprm; #endif } CWPSJPI_64; /* */ /* The CWPSCRE$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSCRE$M_IMGDMP 0x1 #define CWPSCRE$M_DEBUG 0x2 #define CWPSCRE$M_DBGTRU 0x4 #define CWPSCRE$M_PARSE_EXTENDED 0x8 #define CWPSCRE$M_CASE_SENSITIVE 0x10 #define CWPSCRE$K_LENGTH 2100 /* length of data structure */ #define CWPSCRE$S_$CWPSCREDEF 2100 /* Old size name - synonym */ typedef struct _cwpscreprc { unsigned int cwpscre$l_base_offset; /* Offset of CWPSCRE from CWPSSRV base */ unsigned int cwpscre$l_acboff; /* Offset of embedded ACB from CWPSCRE */ unsigned __int64 cwpscre$q_prvmsk; /* Privileges of new process */ unsigned __int64 cwpscre$q_iosb; /* Transaction status block */ unsigned int cwpscre$l_priority; /* Priority of new process */ unsigned int cwpscre$l_uic; /* UIC of new process */ unsigned int cwpscre$l_defprot; /* Default protection of new process */ unsigned int cwpscre$l_tmbu; /* Termination MB unit number of creator */ unsigned int cwpscre$l_spare1; /* zero if unused */ unsigned int cwpscre$l_spare2; /* zero if unused */ unsigned short int cwpscre$w_maxjobs; /* Maximum jobs limit */ unsigned short int cwpscre$w_maxdetach; /* Maximum detached jobs limit */ unsigned int cwpscre$l_astlm; /* AST LIMIT */ unsigned int cwpscre$l_biolm; /* BUFFERED I/O LIMIT */ unsigned int cwpscre$l_bytlm; /* BUFFERED I/O LIMIT */ unsigned int cwpscre$l_cpulm; /* CPU TIME LIMIT */ unsigned int cwpscre$l_diolm; /* DIRECT I/O LIMIT */ unsigned int cwpscre$l_fillm; /* OPEN FILE LIMIT */ unsigned int cwpscre$l_pgflquota; /* PAGING FILE QUOTA */ unsigned int cwpscre$l_prclm; /* SUB-PROCESS LIMIT */ unsigned int cwpscre$l_tqelm; /* TIMER QUEUE ENTRY LIMIT */ unsigned int cwpscre$l_wsquota; /* WORKING SET QUOTA */ unsigned int cwpscre$l_wsdefault; /* WORKING SET DEFAULT */ unsigned int cwpscre$l_enqlm; /* ENQUEUE LIMIT */ unsigned int cwpscre$l_wsextent; /* MAXIMUM WORKING SET SIZE */ unsigned int cwpscre$l_jtquota; /* JOB-WIDE LOGICAL NAME TABLE CREATION QUOTA */ unsigned int cwpscre$l_spare_quota1; /* Spare field in case a new quota is added */ unsigned int cwpscre$l_spare_quota2; /* Spare field in case a new quota is added */ unsigned int cwpscre$l_input_att; /* SYS$INPUT attributes */ unsigned int cwpscre$l_output_att; /* SYS$OUTPUT attributes */ unsigned int cwpscre$l_error_att; /* SYS$ERROR attributes */ unsigned int cwpscre$l_msgmask; /* MESSAGE FLAGS */ unsigned int cwpscre$l_uaf_flags; /* FLAGS FROM UAF RECORD */ unsigned int cwpscre$l_creprc_flags; /* Copy of $CREPRC status flags */ __union { unsigned int cwpscre$l_flags; /* Miscellaneous flags for PQB */ __struct { unsigned cwpscre$v_imgdmp : 1; /* TAKE IMAGE DUMP ON SERIOUS ERROR */ unsigned cwpscre$v_debug : 1; /* /DEBUG startup desired */ unsigned cwpscre$v_dbgtru : 1; /* debugger present */ unsigned cwpscre$v_parse_extended : 1; /* Use PARSE_STYLE = EXTENDED */ unsigned cwpscre$v_case_sensitive : 1; /* Use CASE_LOOKUP = SENSITIVE */ unsigned cwpscre$v_fill_7_ : 3; } cwpscre$r_fill_6_; } cwpscre$r_fill_5_; char cwpscre$t_input [256]; /* LOGICAL NAME FOR INPUT */ char cwpscre$t_output [256]; /* LOGICAL NAME FOR OUTPUT */ char cwpscre$t_error [256]; /* LOGICAL NAME FOR ERROR OUTPUT */ char cwpscre$t_disk [256]; /* LOGICAL NAME FOR SYS$DISK */ char cwpscre$t_image [256]; /* IMAGE NAME FOR NEW PROCESS */ char cwpscre$t_ddstring [256]; /* DEFAULT DIRECTORY STRING */ char cwpscre$t_username [12]; /* User name of new process for JIB */ char cwpscre$t_account [8]; /* Account name of new process for JIB */ char cwpscre$t_pqb_account [8]; /* Account name for new process for PQB */ __struct { /* MINIMUM AUTHORIZED SECURITY CLEARANCE */ unsigned char cwpscre$$$_fill_2 [20]; } cwpscre$r_min_class; __struct { /* MAXIMUM AUTHORIZED SECURITY CLEARANCE */ unsigned char cwpscre$$$_fill_3 [20]; } cwpscre$r_max_class; char cwpscre$t_cli_name [32]; /* CLI name */ char cwpscre$t_cli_table [32]; /* CLI table name */ char cwpscre$t_spawn_cli [32]; /* Spawn CLI name */ char cwpscre$t_spawn_table [256]; /* Spawn CLI table name */ } CWPSCREPRC; #if !defined(__VAXC) #define cwpscre$l_flags cwpscre$r_fill_5_.cwpscre$l_flags #define cwpscre$v_imgdmp cwpscre$r_fill_5_.cwpscre$r_fill_6_.cwpscre$v_imgdmp #define cwpscre$v_debug cwpscre$r_fill_5_.cwpscre$r_fill_6_.cwpscre$v_debug #define cwpscre$v_dbgtru cwpscre$r_fill_5_.cwpscre$r_fill_6_.cwpscre$v_dbgtru #define cwpscre$v_parse_extended cwpscre$r_fill_5_.cwpscre$r_fill_6_.cwpscre$v_parse_extended #define cwpscre$v_case_sensitive cwpscre$r_fill_5_.cwpscre$r_fill_6_.cwpscre$v_case_sensitive #endif /* #if !defined(__VAXC) */ /* */ /* The CWPSTERM$ structure is exchanged with remote nodes. Any updates to this */ /* structure must take mixed-version operation into account. */ /* */ #define CWPSTERM$K_LENGTH 108 /* length of data structure */ #define CWPSTERM$S_$CWPSTERMDEF 108 /* Old size name - synonym */ typedef struct _cwpsterm { unsigned int cwpsterm$l_base_offset; /* Offset of CWPSTERM from CWPSSRV base */ unsigned int cwpsterm$l_acboff; /* Offset of embedded ACB from CWPSTERM */ unsigned __int64 cwpsterm$q_iosb; /* Transaction status block */ unsigned int cwpsterm$l_deleted_proc_epid; /* EPID of process whose termination message this is */ unsigned int cwpsterm$l_spare; /* Spare field */ char cwpsterm$t_term_msg [84]; /* termination message */ } CWPSTERM; /* */ /* The CWPSVEC$ structure is a local structure. If modified, you do not need */ /* to take mixed-version operation into account, however you must be sure that */ /* all modules and images which reference the structure are updated together. */ /* Code that utilizes this structure assumes it resides at a quadword-aligned */ /* VA. The structure must always contain an integral number of quadwords. */ /* */ #define CWPSVEC$M_64_BIT_ILE 0x1 #define CWPSVEC$K_LENGTH 24 /* length of data structure */ #define CWPSVEC$S_$CWPSVECDEF 24 /* Old size name - synonym */ typedef struct _cwpsvec { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsvec$pq_usr_bufadr; /* user's address for buffer items */ #else unsigned __int64 cwpsvec$pq_usr_bufadr; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *cwpsvec$pq_usr_lenadr; /* user's address for returned length */ #else unsigned __int64 cwpsvec$pq_usr_lenadr; #endif __union { unsigned int cwpsvec$l_flags; __struct { unsigned cwpsvec$v_64_bit_ile : 1; unsigned cwpsvec$v_fill_10_ : 7; } cwpsvec$r_fill_9_; } cwpsvec$r_fill_8_; int cwpsvec$l_fill_1; /* Keep structure QW-aligned */ } CWPSVEC; #if !defined(__VAXC) #define cwpsvec$l_flags cwpsvec$r_fill_8_.cwpsvec$l_flags #define cwpsvec$v_64_bit_ile cwpsvec$r_fill_8_.cwpsvec$r_fill_9_.cwpsvec$v_64_bit_ile #endif /* #if !defined(__VAXC) */ /* */ /* The CWPSACB$ structure is a local structure. If modified, you do not need */ /* to take mixed-version operation into account, however you must be sure that */ /* all modules and images which reference the structure are updated together. */ /* */ #define CWPSACB$K_ACB_LENGTH 36 /* length of embedded block */ #define CWPSACB$K_LENGTH 92 /* length of data structure (less PCB) */ #define CWPSACB$S_$CWPSACBDEF 97 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _acb; struct _csb; struct _cdrp; struct _psb; #endif /* #ifdef __cplusplus */ typedef struct _cwpsacb { __union { char cwpsacb$b_cwpsacb_fkb [48]; __struct { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif struct _acb *cwpsacb$l_astqfl; /* ast queue forward link */ struct _acb *cwpsacb$l_astqbl; /* ast queue backward link */ unsigned short int cwpsacb$w_size; /* structure size in bytes */ unsigned char cwpsacb$b_type; /* structure type code */ unsigned char cwpsacb$b_rmod; /* request access mode */ unsigned int cwpsacb$l_pid; /* process id of request */ void (*cwpsacb$l_ast)(); /* ast routine address */ unsigned int cwpsacb$l_astprm; /* ast parameter */ int cwpsacb$l_acb_fill [2]; void (*cwpsacb$l_kast)(); /* internal kernel mode xfer address */ } cwpsacb$r_fill_12_; } cwpsacb$r_fill_11_; void *cwpsacb$l_bufadr; /* address of buffer */ unsigned int cwpsacb$l_buflen; /* length of the buffer */ void *cwpsacb$l_msgbuf; /* message buffer address */ struct _csb *cwpsacb$l_csb; /* csb address */ struct _cdrp *cwpsacb$l_cdrp; /* cdrp address */ unsigned int cwpsacb$l_read_length; /* length of bxfr read request */ unsigned int cwpsacb$l_write_length; /* length of bxfr write request */ unsigned int cwpsacb$l_rightsdesc [2]; /* descriptor for rightslist */ unsigned char cwpsacb$b_func; /* function code from message */ unsigned char cwpsacb$b_spare0; unsigned short int cwpsacb$w_spare1; struct _psb *cwpsacb$ar_remote_psb; /* address of remote process security profile */ /* trojan PCB should be octaword aligned */ char cwpsacb$b_fill_13_ [4]; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __octaword #else #pragma __nomember_alignment #endif unsigned char cwpsacb$b_trojan_pcb; /* start of false PCB */ } CWPSACB; #if !defined(__VAXC) #define cwpsacb$b_cwpsacb_fkb cwpsacb$r_fill_11_.cwpsacb$b_cwpsacb_fkb #define cwpsacb$l_astqfl cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$l_astqfl #define cwpsacb$l_astqbl cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$l_astqbl #define cwpsacb$w_size cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$w_size #define cwpsacb$b_type cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$b_type #define cwpsacb$b_rmod cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$b_rmod #define cwpsacb$l_pid cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$l_pid #define cwpsacb$l_ast cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$l_ast #define cwpsacb$l_astprm cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$l_astprm #define cwpsacb$l_kast cwpsacb$r_fill_11_.cwpsacb$r_fill_12_.cwpsacb$l_kast #endif /* #if !defined(__VAXC) */ /* */ /* The CWPSSQH$ structure is a local structure. If modified, you do not need */ /* to take mixed-version operation into account, however you must be sure that */ /* all modules and images which reference the structure are updated together. */ /* */ #define CWPSSQH$K_LENGTH 32 /* length of data structure */ #define CWPSSQH$S_$CWPSSQHDEF 32 /* Old size name - synonym */ #pragma __nomember_alignment typedef struct _cwpssqh { struct _cwpssqh *cwpssqh$l_flink; /* forward link */ struct _cwpssqh *cwpssqh$l_blink; /* back link */ unsigned short int cwpssqh$w_size; /* size of structure (SQH only) */ unsigned char cwpssqh$b_type; /* structure type code */ unsigned char cwpssqh$b_subtype; /* structure subtype */ unsigned int cwpssqh$l_alloc_length; /* actual length of allocation */ unsigned int cwpssqh$l_mpid; /* master pid */ unsigned int cwpssqh$l_spare0; /* enough to make it octaword */ unsigned int cwpssqh$l_spare1; /* aligned... */ unsigned int cwpssqh$l_spare3; } CWPSSQH; /* */ /* The CWPSNODI*$ structures are local structures. If modified, you do not need */ /* to take mixed-version operation into account, however you must be sure that */ /* all modules and images which reference the structures are updated together. */ /* */ #define CWPSNODIH$K_HEADER 16 /* length of data structure */ #define CWPSNODIH$S_$CWPSNODIHDEF 17 /* Old size name - synonym */ typedef struct _cwpsnodih { struct _cwpsnodih *cwpsnodih$l_flink; /* forward link */ struct _cwpsnodih *cwpsnodih$l_blink; /* back link */ unsigned short int cwpsnodih$w_size; /* size of structure */ unsigned char cwpsnodih$b_type; /* structure type code */ unsigned char cwpsnodih$b_subtype; /* structure subtype */ unsigned int cwpsnodih$l_count; /* count of nodes */ unsigned char cwpsnodih$b_node_list; /* start of list of node blocks */ } CWPSNODIH; #define CWPSNODI$K_LENGTH 32 /* length of data structure */ #define CWPSNODI$S_$CWPSNODIDEF 32 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _sb; #endif /* #ifdef __cplusplus */ typedef struct _cwpsnodi { unsigned int cwpsnodi$l_hwtype; /* hardware type (and flink) */ unsigned short int cwpsnodi$w_hw_model; /* integer model code */ unsigned short int cwpsnodi$w_sparew; /* spare */ unsigned int cwpsnodi$l_csid; /* node's csid */ unsigned char cwpsnodi$b_name [16]; /* node's name (ASCIC) */ struct _sb *cwpsnodi$l_sb; /* sb address */ } CWPSNODI; #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __CWPSDEF_LOADED */