/**/ /***************************************************************************/ /** **/ /** © 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:27:13 by OpenVMS SDL EV3-3 */ /* Source: 03-MAR-2005 16:07:07 $1$DGA7274:[LIB_H.SRC]DDBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $DDBDEF ***/ #ifndef __DDBDEF_LOADED #define __DDBDEF_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 /*+ */ /* DDB - DEVICE DATA BLOCK */ /* */ /* THERE IS ONE DEVICE DATA BLOCK FOR EACH CONTROLLER IN A SYSTEM. */ /*+ */ #define DDB$M_NO_TIMEOUT 0x1 #define DDB$M_PAC 0x2 #define DDB$K_PACK 1 /*LARGE DISK PACKS */ #define DDB$K_CART 2 /*DISK CARTRIDGES */ #define DDB$K_SLOW 3 /*SLOW (CHEAP) DISKS (E.G., FLOPPY) */ #define DDB$K_TAPE 4 /*BLOCK STRUCTURED TAPE (E.G., TU58) */ #ifdef __cplusplus /* Define structure prototypes */ struct _ucb; struct _ddt; struct _dpt; struct _sb; #endif /* #ifdef __cplusplus */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _ddb { #pragma __nomember_alignment __union { int ddb$l_link; /*ADDRESS OF NEXT DDB IN LIST (0=LAST) */ __struct { struct _ddb *ddb$ps_link; /*ADDRESS OF NEXT DDB IN LIST (0=LAST) */ } ddb$r_fill_1_; } ddb$r_fill_0_; __union { int ddb$l_ucb; /*ADDRESS OF FIRST UCB FOR THIS DDB */ __struct { struct _ucb *ddb$ps_ucb; /*ADDRESS OF FIRST UCB FOR THIS DDB */ } ddb$r_fill_3_; } ddb$r_fill_2_; __union { unsigned short int ddb$w_size; /*SIZE OF DDB IN BYTES */ __struct { unsigned short int ddb$iw_size; /*SIZE OF DDB IN BYTES */ } ddb$r_fill_5_; } ddb$r_fill_4_; __union { unsigned char ddb$b_type; /*TYPE OF DATA STRUCTURE FOR DDB */ __struct { unsigned char ddb$ib_type; /*TYPE OF DATA STRUCTURE FOR DDB */ } ddb$r_fill_7_; } ddb$r_fill_6_; __union { /* Flags */ unsigned char ddb$b_flags; __struct { unsigned ddb$v_no_timeout : 1; /* No TIMEOUT handling */ unsigned ddb$v_pac : 1; /* Using port allocation class */ unsigned ddb$v_fill_22_ : 6; } ddb$r_flags_bits; } ddb$r_flags_overlay; __union { int ddb$l_ddt; /*ADDRESS OF THE DRIVER DISPATCH TABLE */ __struct { struct _ddt *ddb$ps_ddt; /*ADDRESS OF THE DRIVER DISPATCH TABLE */ } ddb$r_fill_9_; } ddb$r_fill_8_; __union { unsigned int ddb$l_acpd; /*NAME OF DEFAULT ACP FOR DEVICE UNITS */ unsigned int ddb$il_acpd; /*NAME OF DEFAULT ACP FOR DEVICE UNITS */ __struct { char ddbdef$$_fill_4 [3]; __union { unsigned char ddb$b_acpclass; /*CLASS CODE OF DEFAULT ACP */ __struct { unsigned char ddb$ib_acpclass; /*CLASS CODE OF DEFAULT ACP */ } ddb$r_fill_11_; } ddb$r_fill_10_; } ddb$r_acpd_fields; } ddb$r_acpd_union; __union { char ddb$t_name [16]; /*GENERIC PATH NAME OF DEVICE */ __struct { __union { unsigned char ddb$b_name_len; /* CHARACTER COUNT */ __struct { unsigned char ddb$ib_name_len; /* CHARACTER COUNT */ } ddb$r_fill_13_; } ddb$r_fill_12_; char ddb$t_name_str [15]; /* CHARACTER STRING */ } ddb$r_name_ascic; } ddb$r_name_overlay; struct _dpt *ddb$ps_dpt; /*ADDR OF DRIVER DPT */ struct _ddb *ddb$ps_drvlink; /*ADDR OF NEXT DDB FOR THIS DRIVER */ __union { int ddb$l_sb; /*ADDR OF SYSTEMBLOCK */ __struct { struct _sb *ddb$ps_sb; /*ADDR OF SYSTEMBLOCK */ } ddb$r_fill_15_; } ddb$r_fill_14_; __union { int ddb$l_conlink; /*NEXT DDB IN CONNECTION SUB-CHAIN */ __struct { struct _ddb *ddb$ps_conlink; /*NEXT DDB IN CONNECTION SUB-CHAIN */ } ddb$r_fill_17_; } ddb$r_fill_16_; __union { unsigned int ddb$l_allocls; /*DEVICE ALLOCATION CLASS */ __struct { unsigned int ddb$il_allocls; /*DEVICE ALLOCATION CLASS */ } ddb$r_fill_19_; } ddb$r_fill_18_; __union { struct _ucb *ddb$l_2p_ucb; /*ADDRESS OF FIRST UCB ON SECONDARY PATH */ struct _ucb *ddb$ps_2p_ucb; /*ADDRESS OF FIRST UCB ON SECONDARY PATH */ struct _ucb *ddb$l_dp_ucb; /*OLD STYLE SYNONYM FOR ABOVE */ } ddb$r_union_2p_ucb; __union { unsigned int ddb$l_port_id; /* Reserved */ __struct { char ddb$t_port_id [1]; /* Reserved */ } ddb$r_fill_21_; } ddb$r_fill_20_; unsigned int ddb$l_class_lkid; /* Reserved */ void *ddb$ps_2p_ddb; /* Reserved */ unsigned int ddb$l_seed_unit; /* Seed unit */ struct _ucb *ddb$l_seed_ptr; /* Seed pointer */ int ddb$l_spare_1 [8]; /* Reserved */ } DDB; #if !defined(__VAXC) #define ddb$l_link ddb$r_fill_0_.ddb$l_link #define ddb$ps_link ddb$r_fill_0_.ddb$r_fill_1_.ddb$ps_link #define ddb$l_ucb ddb$r_fill_2_.ddb$l_ucb #define ddb$ps_ucb ddb$r_fill_2_.ddb$r_fill_3_.ddb$ps_ucb #define ddb$w_size ddb$r_fill_4_.ddb$w_size #define ddb$iw_size ddb$r_fill_4_.ddb$r_fill_5_.ddb$iw_size #define ddb$b_type ddb$r_fill_6_.ddb$b_type #define ddb$ib_type ddb$r_fill_6_.ddb$r_fill_7_.ddb$ib_type #define ddb$b_flags ddb$r_flags_overlay.ddb$b_flags #define ddb$v_no_timeout ddb$r_flags_overlay.ddb$r_flags_bits.ddb$v_no_timeout #define ddb$v_pac ddb$r_flags_overlay.ddb$r_flags_bits.ddb$v_pac #define ddb$l_ddt ddb$r_fill_8_.ddb$l_ddt #define ddb$ps_ddt ddb$r_fill_8_.ddb$r_fill_9_.ddb$ps_ddt #define ddb$l_acpd ddb$r_acpd_union.ddb$l_acpd #define ddb$il_acpd ddb$r_acpd_union.ddb$il_acpd #define ddb$b_acpclass ddb$r_acpd_union.ddb$r_acpd_fields.ddb$r_fill_10_.ddb$b_acpclass #define ddb$ib_acpclass ddb$r_acpd_union.ddb$r_acpd_fields.ddb$r_fill_10_.ddb$r_fill_11_.ddb$ib_acpclass #define ddb$t_name ddb$r_name_overlay.ddb$t_name #define ddb$b_name_len ddb$r_name_overlay.ddb$r_name_ascic.ddb$r_fill_12_.ddb$b_name_len #define ddb$ib_name_len ddb$r_name_overlay.ddb$r_name_ascic.ddb$r_fill_12_.ddb$r_fill_13_.ddb$ib_name_len #define ddb$t_name_str ddb$r_name_overlay.ddb$r_name_ascic.ddb$t_name_str #define ddb$l_sb ddb$r_fill_14_.ddb$l_sb #define ddb$ps_sb ddb$r_fill_14_.ddb$r_fill_15_.ddb$ps_sb #define ddb$l_conlink ddb$r_fill_16_.ddb$l_conlink #define ddb$ps_conlink ddb$r_fill_16_.ddb$r_fill_17_.ddb$ps_conlink #define ddb$l_allocls ddb$r_fill_18_.ddb$l_allocls #define ddb$il_allocls ddb$r_fill_18_.ddb$r_fill_19_.ddb$il_allocls #define ddb$l_2p_ucb ddb$r_union_2p_ucb.ddb$l_2p_ucb #define ddb$ps_2p_ucb ddb$r_union_2p_ucb.ddb$ps_2p_ucb #define ddb$l_dp_ucb ddb$r_union_2p_ucb.ddb$l_dp_ucb #define ddb$l_port_id ddb$r_fill_20_.ddb$l_port_id #define ddb$t_port_id ddb$r_fill_20_.ddb$r_fill_21_.ddb$t_port_id #endif /* #if !defined(__VAXC) */ #define DDB$K_LENGTH 112 /*LENGTH OF STANDARD DDB */ #define DDB$C_LENGTH 112 /*LENGTH OF STANDARD DDB */ #define DDB$S_DDBDEF 112 /*OLD DDB SIZE FOR COMPATIBILITY */ #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 /* __DDBDEF_LOADED */