/**/ /***************************************************************************/ /** **/ /** © 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:25:49 by OpenVMS SDL EV3-3 */ /* Source: 07-MAR-1994 22:37:28 $1$DGA7274:[LIB_H.SRC]MMECBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE MMECBDEF IDENT X-4 ***/ #ifndef __MMECBDEF_LOADED #define __MMECBDEF_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 #define MMECB$M_UNLOAD 0x1 #define MMECB$M_ALLOC 0x2 #define MMECB$M_BACKUP_FILE 0x4 #define MMECB$M_CLOSE_READ 0x8 #define MMECB$M_CLOSE_WRITE 0x10 #define MMECB$M_CONTINUATION_VOLUME 0x20 #define MMECB$M_DEALLOCATE 0x40 #define MMECB$M_DEVICE_AVAIL 0x80 #define MMECB$M_DEVICE_UNAVAIL 0x100 #define MMECB$M_DISMOUNT 0x200 #define MMECB$M_DISPLAY_MESSAGE 0x400 #define MMECB$M_EOV_READ 0x800 #define MMECB$M_EOV_WRITE 0x1000 #define MMECB$M_INITIALIZE 0x2000 #define MMECB$M_MOUNT 0x4000 #define MMECB$M_MOUNT_REQUEST 0x8000 #define MMECB$M_NEWVOL_REQUEST 0x10000 #define MMECB$M_NOTIFY_DEVICE 0x20000 #define MMECB$M_OPCOM_ACP 0x40000 #define MMECB$M_OPCOM_MOUNT 0x80000 #define MMECB$M_OPEN_READ 0x100000 #define MMECB$M_OPEN_WRITE 0x200000 #define MMECB$M_VOLUME_ONLINE 0x400000 #define MMECB$M_BACKUP_END 0x800000 #define MMECB$M_BACKUP_START 0x1000000 #define MMECB$M_WRITE_REQUEST 0x2000000 #define MMECB$M_MOUNT_END 0x4000000 #define MMECB$M_INIT_END 0x8000000 #define MMECB$M_NEWVOL_END 0x10000000 #define MMECB$M_DMTPRCDEL 0x20000000 #ifdef __cplusplus /* Define structure prototypes */ struct _ucb; struct _mcl; #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 _mmecb { #pragma __nomember_alignment unsigned short int mmecb$w_facility; /* TMS facility code */ unsigned short int mmecb$w_mbunit; /* Mailbox unit number */ unsigned int mmecb$l_pid; /* Pid of TMS process */ unsigned short int mmecb$w_size; /* Control block size */ unsigned char mmecb$b_type; /* BLOCK TYPE CODE */ unsigned char mmecb$b_subtype; /* BLOCK SUBTYPE CODE */ struct _ucb *mmecb$l_mbxucb; /* Mailbox UCB address */ __union { /* Bitmask of interesting routines */ unsigned __int64 mmecb$q_routine_mask; __struct { unsigned mmecb$v_unload : 1; unsigned mmecb$v_alloc : 1; unsigned mmecb$v_backup_file : 1; unsigned mmecb$v_close_read : 1; unsigned mmecb$v_close_write : 1; unsigned mmecb$v_continuation_volume : 1; unsigned mmecb$v_deallocate : 1; unsigned mmecb$v_device_avail : 1; unsigned mmecb$v_device_unavail : 1; unsigned mmecb$v_dismount : 1; unsigned mmecb$v_display_message : 1; unsigned mmecb$v_eov_read : 1; unsigned mmecb$v_eov_write : 1; unsigned mmecb$v_initialize : 1; unsigned mmecb$v_mount : 1; unsigned mmecb$v_mount_request : 1; unsigned mmecb$v_newvol_request : 1; unsigned mmecb$v_notify_device : 1; unsigned mmecb$v_opcom_acp : 1; unsigned mmecb$v_opcom_mount : 1; unsigned mmecb$v_open_read : 1; unsigned mmecb$v_open_write : 1; unsigned mmecb$v_volume_online : 1; unsigned mmecb$v_backup_end : 1; unsigned mmecb$v_backup_start : 1; unsigned mmecb$v_write_request : 1; unsigned mmecb$v_mount_end : 1; unsigned mmecb$v_init_end : 1; unsigned mmecb$v_newvol_end : 1; unsigned mmecb$v_dmtprcdel : 1; unsigned mmecb$v_fill_0_ : 2; } mmecb$r_routine_bits; } mmecb$r_routines_overlay; struct _mcl *mmecb$l_mcl_flink; /* Mount context list forward link */ struct _mcl *mmecb$l_mcl_blink; /* Mount context list backward link */ } MMECB; #if !defined(__VAXC) #define mmecb$q_routine_mask mmecb$r_routines_overlay.mmecb$q_routine_mask #define mmecb$v_unload mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_unload #define mmecb$v_alloc mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_alloc #define mmecb$v_backup_file mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_backup_file #define mmecb$v_close_read mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_close_read #define mmecb$v_close_write mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_close_write #define mmecb$v_continuation_volume mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_continuation_volume #define mmecb$v_deallocate mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_deallocate #define mmecb$v_device_avail mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_device_avail #define mmecb$v_device_unavail mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_device_unavail #define mmecb$v_dismount mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_dismount #define mmecb$v_display_message mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_display_message #define mmecb$v_eov_read mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_eov_read #define mmecb$v_eov_write mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_eov_write #define mmecb$v_initialize mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_initialize #define mmecb$v_mount mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_mount #define mmecb$v_mount_request mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_mount_request #define mmecb$v_newvol_request mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_newvol_request #define mmecb$v_notify_device mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_notify_device #define mmecb$v_opcom_acp mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_opcom_acp #define mmecb$v_opcom_mount mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_opcom_mount #define mmecb$v_open_read mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_open_read #define mmecb$v_open_write mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_open_write #define mmecb$v_volume_online mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_volume_online #define mmecb$v_backup_end mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_backup_end #define mmecb$v_backup_start mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_backup_start #define mmecb$v_write_request mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_write_request #define mmecb$v_mount_end mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_mount_end #define mmecb$v_init_end mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_init_end #define mmecb$v_newvol_end mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_newvol_end #define mmecb$v_dmtprcdel mmecb$r_routines_overlay.mmecb$r_routine_bits.mmecb$v_dmtprcdel #endif /* #if !defined(__VAXC) */ #define MMECB$S_MMECBDEF 32 /* Old size name, synonym for MMECB$S_MMECB */ #define MME$M_WAS_RUNNING 0x1 typedef struct _mmeflags { __union { /* */ unsigned char mme$b_flags_mask; __struct { unsigned mme$v_was_running : 1; unsigned mme$v_fill_1_ : 7; } mme$r_flags_bits; } mme$r_flags_overlay; } MMEFLAGS; #if !defined(__VAXC) #define mme$b_flags_mask mme$r_flags_overlay.mme$b_flags_mask #define mme$v_was_running mme$r_flags_overlay.mme$r_flags_bits.mme$v_was_running #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 /* __MMECBDEF_LOADED */