/**/ /***************************************************************************/ /** **/ /** © 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:11 by OpenVMS SDL EV3-3 */ /* Source: 23-APR-1993 13:59:35 $1$DGA7274:[LIB_H.SRC]DCBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $DCBDEF ***/ #ifndef __DCBDEF_LOADED #define __DCBDEF_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 /* + */ /* DCB - Data link layer chained buffer descriptor */ /* */ /* This descriptor may be used in one of two ways. The first way is to */ /* use this descriptor to describe a direct I/O transfer. The second */ /* is to use this descriptor to describe a chain of buffers to transmit */ /* or a chain of buffers which have been received. */ /* */ /* - */ #define DCB$M_TYPE_IO 0x1 #define DCB$K_HEADER 32 /* DCB size up to this point */ #define DCB$C_HEADER 32 /* DCB size up to this point */ #define DCB$S_DCBDEF 32 typedef struct _dcb { struct _dcb *dcb$l_flink; /* Forward link */ struct _dcb *dcb$l_blink; /* Backward link */ unsigned short int dcb$w_size; /* Size of block */ unsigned char dcb$b_type; /* Type of block */ unsigned char dcb$b_mode; /* Access mode of agent */ void *dcb$l_link; /* Link to next buffer in chain */ __union { /* Describe I/O */ unsigned short int dcb$w_sts; /* Old word width STS field */ __union { unsigned int dcb$l_sts; __struct { unsigned dcb$v_type_io : 1; /* If set DIRECT if clear buffered */ unsigned dcb$v_fill_2_ : 7; } dcb$r_fill_1_; } dcb$r_fill_0_; } dcb$r_sts_overlay; void *dcb$l_svapte; /* SVAPTE of buffer if not specified */ /* then the buffer is embedded */ /* in this buffer */ __union { unsigned short int dcb$w_boff; /* Offset to start of data. Data */ unsigned int dcb$l_boff; /* link headers must be back built */ } dcb$r_boff_overlay; /* from this offset. */ __union { /* For transmits size in bytes of this */ unsigned short int dcb$w_bcnt; /* segment of the data. For receives */ unsigned int dcb$l_bcnt; /* contains the size of the segment */ } dcb$r_bcnt_overlay; /* of data contained in this buffer. */ } DCB; #if !defined(__VAXC) #define dcb$w_sts dcb$r_sts_overlay.dcb$w_sts #define dcb$l_sts dcb$r_sts_overlay.dcb$r_fill_0_.dcb$l_sts #define dcb$v_type_io dcb$r_sts_overlay.dcb$r_fill_0_.dcb$r_fill_1_.dcb$v_type_io #define dcb$w_boff dcb$r_boff_overlay.dcb$w_boff #define dcb$l_boff dcb$r_boff_overlay.dcb$l_boff #define dcb$w_bcnt dcb$r_bcnt_overlay.dcb$w_bcnt #define dcb$l_bcnt dcb$r_bcnt_overlay.dcb$l_bcnt #endif /* #if !defined(__VAXC) */ #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 /* __DCBDEF_LOADED */