/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $DVIDEF ***/ #ifndef __DVIDEF_LOADED #define __DVIDEF_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 /*+ */ /* */ /* Get Device and Volume Information Data Identifier Definitions */ /* */ /* **** NOTE **** */ /* */ /* New items must always be added at the END of the list so that */ /* users will not have to rebuild. */ /* */ /*- */ #define DVI$_DEVCHAR 2 /* Device characteristics - VALUE - 4 bytes */ #define DVI$_DEVCLASS 4 /* Device class - VALUE - 1 byte */ #define DVI$_DEVTYPE 6 /* Device type - VALUE - 1 byte */ #define DVI$_DEVBUFSIZ 8 /* Device buffer size - VALUE - 2 bytes */ #define DVI$_DEVDEPEND 10 /* Device dependent information - VALUE - 4 bytes */ #define DVI$_UNIT 12 /* Unit number - VALUE - 4 bytes */ #define DVI$_PID 14 /* Process identification of device owner - VALUE - 4 bytes */ #define DVI$_OWNUIC 16 /* UIC of device owner - VALUE - 4 bytes */ #define DVI$_VPROT 18 /* Volume protection mask - VALUE - 2 bytes */ #define DVI$_ERRCNT 20 /* Error count - VALUE - 2 bytes */ #define DVI$_OPCNT 22 /* Operation count - VALUE - 4 bytes */ #define DVI$_RECSIZ 24 /* Blocked record size - VALUE - 2 bytes */ #define DVI$_MAXBLOCK 26 /* Number of logical blocks on the volume (disk) - VALUE - 4 bytes */ #define DVI$_DEVDEPEND2 28 /* Additional device dependent data - VALUE - 4 bytes */ #define DVI$_REFCNT 30 /* Reference count of processes - VALUE - 2 bytes */ #define DVI$_DEVNAM 32 /* Device name - STRING - 64 bytes */ #define DVI$_VOLNAM 34 /* Volume name - STRING - 12 bytes */ #define DVI$_SECTORS 36 /* Number of sectors per track (disk) - VALUE - 1 byte */ #define DVI$_TRACKS 38 /* Number of tracks per cylinder (disk) - VALUE - 1 byte */ #define DVI$_CYLINDERS 40 /* Number of cylinders on the volume (disk) - VALUE - 2 bytes */ #define DVI$_FREEBLOCKS 42 /* Number of free blocks on the volume (disk) - VALUE - 4 bytes */ #define DVI$_LOGVOLNAM 44 /* Logical volume name - STRING - 64 bytes */ #define DVI$_VOLNUMBER 46 /* Number of this volume in volume set (disk) - VALUE - 4 byte */ #define DVI$_VOLCOUNT 48 /* Count of volumes in volume set (disk) - VALUE - 4 byte */ #define DVI$_ROOTDEVNAM 50 /* Device name of root volume in volume set (disk) - STRING - 64 bytes */ #define DVI$_NEXTDEVNAM 52 /* Device name of next volume in volume set (disk) - STRING - 64 bytes */ #define DVI$_TRANSCNT 54 /* Volume Transaction Count - VALUE - 2 bytes */ #define DVI$_MOUNTCNT 56 /* Mount count - VALUE - 2 bytes */ #define DVI$_CLUSTER 58 /* Volume Cluster Size (disk) - VALUE - 2 bytes */ #define DVI$_MAXFILES 60 /* Maximum Files on Volume (disk) - VALUE - 4 bytes */ #define DVI$_SERIALNUM 62 /* Volume Serial Number (disk) - VALUE - 4 bytes */ #define DVI$_ACPPID 64 /* ACP Process ID - VALUE - 4 bytes */ #define DVI$_ACPTYPE 66 /* ACP type code - VALUE - 1 byte */ #define DVI$_CONCEALED 68 /* Device is a concealed device - BOOLEAN - 1 byte */ /* */ /** THE FOLLOWING CODES ARE THE INDIVIDUAL BITS OF THE DEVCHAR LONGWORD */ /* */ #define DVI$_REC 70 /* DEVICE RECORD ORIENTED */ #define DVI$_CCL 72 /* CARRIAGE CONTROL DEVICE */ #define DVI$_TRM 74 /* DEVICE IS A TERMINAL */ #define DVI$_DIR 76 /* DEVICE IS DIRECTORY STRUCTURED */ #define DVI$_SDI 78 /* DEVICE IS SINGLE DIRECTORY STRUCTURED */ #define DVI$_SQD 80 /* SEQUENTIAL BLOCK-ORIENTED DEVICE (I.E., MAGTAPE) */ #define DVI$_SPL 82 /* DEVICE BEING SPOOLED */ #define DVI$_OPR 84 /* DEVICE IS AN OPERATOR */ #define DVI$_RCT 86 /* DISK CONTAINS RCT (DEC STANDARD 166 DISK) */ #define DVI$_NET 88 /* NETWORK DEVICE */ #define DVI$_FOD 90 /* FILES-ORIENTED DEVICE (I.E., DISK AND MT) */ #define DVI$_DUA 92 /* DEVICE IS DUAL PORTED */ #define DVI$_SHR 94 /* DEVICE SHAREABLE */ #define DVI$_GEN 96 /* DEVICE IS A GENERIC DEVICE */ #define DVI$_AVL 98 /* DEVICE AVAILABLE FOR USE */ #define DVI$_MNT 100 /* DEVICE IS MOUNTED */ #define DVI$_MBX 102 /* DEVICE IS A MAILBOX */ #define DVI$_DMT 104 /* DEVICE MARKED FOR DISMOUNT */ #define DVI$_ELG 106 /* DEVICE HAS ERROR LOGGING ENABLED */ #define DVI$_ALL 108 /* DEVICE IS ALLOCATED */ #define DVI$_FOR 110 /* DEVICE IS MOUNTED FOREIGN (I.E., NON-FILE STRUCTURED) */ #define DVI$_SWL 112 /* DEVICE IS SOFTWARE WRITE LOCKED */ #define DVI$_IDV 114 /* DEVICE CAPABLE OF PROVIDING INPUT */ #define DVI$_ODV 116 /* DEVICE CAPABLE OF PROVIDING OUTPUT */ #define DVI$_RND 118 /* DEVICE ALLOWS RANDOM ACCESS */ #define DVI$_RTM 120 /* DEVICE IS REALTIME IN NATURE */ #define DVI$_RCK 122 /* DEVICE HAS READ CHECKING ENABLED */ #define DVI$_WCK 124 /* DEVICE HAS WRITE CHECKING ENABLED */ /* */ /** THE FOLLOWING CODES ARE THE INDIVIDUAL BITS OF THE DEVDEPEND LONGWORD */ /** (AS DEFINED FOR TERMINALS: TTDEF IN STARDEFQZ.SDL) */ /* */ #define DVI$_TT_PASSALL 126 #define DVI$_TT_NOECHO 128 #define DVI$_TT_NOTYPEAHD 130 #define DVI$_TT_ESCAPE 132 #define DVI$_TT_HOSTSYNC 134 #define DVI$_TT_TTSYNC 136 #define DVI$_TT_SCRIPT 138 #define DVI$_TT_LOWER 140 #define DVI$_TT_MECHTAB 142 #define DVI$_TT_WRAP 144 #define DVI$_TT_CRFILL 146 #define DVI$_TT_LFFILL 148 #define DVI$_TT_SCOPE 150 #define DVI$_TT_REMOTE 152 #define DVI$_TT_EIGHTBIT 154 #define DVI$_TT_MBXDSABL 156 #define DVI$_TT_NOBRDCST 158 #define DVI$_TT_READSYNC 160 #define DVI$_TT_MECHFORM 162 #define DVI$_TT_HALFDUP 164 #define DVI$_TT_MODEM 166 #define DVI$_TT_OPER 168 #define DVI$_TT_PAGE 170 /* */ /** THE FOLLOWING CODES ARE THE INDIVIDUAL BITS OF THE DEVDEPEND2 LONGWORD */ /** (AS DEFINED FOR TERMINALS: TT2DEF IN STARDEFQZ.SDL) */ /* */ #define DVI$_TT_LOCALECHO 172 #define DVI$_TT_AUTOBAUD 174 #define DVI$_TT_HANGUP 176 #define DVI$_TT_MODHANGUP 178 #define DVI$_TT_BRDCSTMBX 180 #define DVI$_TT_DMA 182 #define DVI$_TT_ALTYPEAHD 184 #define DVI$_TT_SETSPEED 186 #define DVI$_TT_DCL_MAILBX 188 /* TEMP DEFINITIONS FOR DCL SPAWN */ #define DVI$_TT_EDITING 190 #define DVI$_TT_INSERT 192 #define DVI$_TT_FALLBACK 194 #define DVI$_TT_DIALUP 196 #define DVI$_TT_SECURE 198 #define DVI$_TT_DISCONNECT 200 #define DVI$_TT_PASTHRU 202 #define DVI$_TT_SIXEL 204 #define DVI$_TT_DRCS 206 #define DVI$_TT_PRINTER 208 #define DVI$_TT_APP_KEYPAD 210 #define DVI$_TT_SYSPWD 212 #define DVI$_TT_ANSICRT 214 #define DVI$_TT_REGIS 216 #define DVI$_TT_BLOCK 218 #define DVI$_TT_AVO 220 #define DVI$_TT_EDIT 222 #define DVI$_TT_DECCRT 224 /* */ /** THE FOLLOWING CODES ARE REGULAR ITEMS */ /* */ #define DVI$_STS 226 /* STATUS LONGWORD */ #define DVI$_DEVSTS 228 /* DEVICE STATUS WORD */ #define DVI$_DEVCHAR2 230 /* Second device characteristics longword - VALUE - 4 bytes */ #define DVI$_FULLDEVNAM 232 /* Fully qualified device name */ #define DVI$_LOCKID 234 /* Device lock id - VALUE - 4 bytes */ #define DVI$_ALLDEVNAM 236 /* Allocation class + device name */ #define DVI$_VOLSETMEM 238 /* Volume set member */ #define DVI$_DEVLOCKNAM 240 /* Device lock name */ /* */ /** THE FOLLOWING CODES SUPPORT FEATURES OF DUAL-PATH AND SHADOW-SET DEVICES */ /* */ #define DVI$_ALLOCLASS 242 /* Allocation class of host(s) */ #define DVI$_ALT_HOST_AVAIL 244 /* Alternate host is active */ #define DVI$_ALT_HOST_NAME 246 /* Name of host serving alternate path */ #define DVI$_ALT_HOST_TYPE 248 /* Type of alternate host */ #define DVI$_HOST_AVAIL 250 /* Primary host is active */ #define DVI$_HOST_COUNT 252 /* Number of paths to the device */ #define DVI$_HOST_NAME 254 /* Name of host serving the primary path */ #define DVI$_HOST_TYPE 256 /* Type of primary host (today one of "V785", "V780", "V750" or "HS50") */ #define DVI$_REMOTE_DEVICE 258 /* Device is not connected to local node */ #define DVI$_SERVED_DEVICE 260 /* Device is served to the cluster */ #define DVI$_SHDW_CATCHUP_COPYING 262 /* Catch-up copy is in progress */ #define DVI$_SHDW_MASTER 264 /* Device is "virtual" master device for shadow set */ #define DVI$_SHDW_MASTER_NAME 266 /* Name of the "virtual" master device for a shadow set */ #define DVI$_SHDW_MEMBER 268 /* Device is one of the volumes making a shadow set */ #define DVI$_SHDW_MERGE_COPYING 270 /* Merge copy is in progress */ #define DVI$_SHDW_NEXT_MBR_NAME 272 /* Name of the next device in shadow set */ /* */ /** THE FOLLOWING CODES ARE REGULAR ITEMS */ /* */ #define DVI$_TT_PHYDEVNAM 274 /* Terminal physical device name - STRING - 64 bytes */ #define DVI$_TT_DECCRT2 276 /* DEC_CRT level 2 part of devdepend2 longword for */ /* terminals. */ #define DVI$_MEDIA_NAME 278 /* Decoded media name from UCB$L_MEDIA_ID field (ie. RK07 ) */ #define DVI$_MEDIA_TYPE 280 /* Decoded media type from UCB$L_MEDIA_ID field (ie. DM ) */ #define DVI$_MEDIA_ID 282 /* NONdecoded media id from UCB$L_MEDIA_ID */ /* */ #define DVI$_SHDW_FAILED_MEMBER 284 /* Member unit has been failed out from shadow set */ #define DVI$_MSCP_UNIT_NUMBER 286 /* MSCP unit number of device (internal hash */ /* value, not useful for customers or applications) */ #define DVI$_DISPLAY_DEVNAM 288 /* A displayable device name, useful for user */ /* displays but not for $ASSIGN */ #define DVI$_TT_ACCPORNAM 290 /* Name of local port on remote system. Counted */ /* string in remote native format, ie: LAT, X.29 */ #define DVI$_DEVDEPEND3 292 /* Device dependent longword 3 */ #define DVI$_TT_MULTISESSION 294 /* Multi-session terminal */ #define DVI$_TT_DECCRT3 296 /* VT3xx series terminal */ #define DVI$_SET_HOST_TERMINAL 298 /* SET HOST session terminal */ #define DVI$_DFS_ACCESS 300 /* DFS client access point device */ #define DVI$_DAPDEVNAM 302 /* DAP device name, used to store the remote */ /* name string of a device that is accessed via */ /* the DAP protocol (without DECnet), such as */ /* certain console disks. */ #define DVI$_TT_DECCRT4 304 /* VT4xx series terminal */ #define DVI$_TT_CHARSET 306 /* Terminal character set information */ /* */ /** The following codes are the individual bits of the TT_CHARSET longword */ /** in the terminal UCB (as defined in TTCDEF) */ /* */ #define DVI$_TT_CS_KANA 308 /* Support Kana character set */ #define DVI$_TT_CS_KANJI 310 /* Support Kanji character set */ #define DVI$_TT_CS_HANZI 312 /* Support Hanzi character set */ #define DVI$_TT_CS_HANGUL 314 /* Support Hangul character set */ #define DVI$_TT_CS_HANYU 316 /* Support Hanyu character set */ #define DVI$_TT_CS_THAI 318 /* Support Thai character set */ /* */ /** THE FOLLOWING CODES ARE REGULAR ITEMS */ /* */ #define DVI$_DEVDEPEND4 320 /* Device dependent longword 4 */ #define DVI$_DEVICE_TYPE_NAME 322 /* DDR Device type name */ #define DVI$_TT_ASIAN_MODE 324 /* Asian terminal I/O characteristics */ #define DVI$_PREFERRED_CPU 326 /* Return CPU affinity of device */ #define DVI$_TT_DECCRT5 328 /* VT5xx series terminal */ #define DVI$_TT_ANSI_COLOR 330 /* Terminal supports ANSI color escape sequences */ #define DVI$_MT3_SUPPORTED 332 /* Tape UCB owned by an MTD enhanced */ /* driver? (longword) */ #define DVI$_MT3_DENSITY 334 /* Tape density. (longword) */ #define DVI$_DRIVER_IMAGE_NAME 336 /* Driver image name -- STRING */ #define DVI$_CLIENT_DEVICE 338 /* Client device flag -- BOOLEAN */ #define DVI$_FC_PORT_NAME 340 /* Fibre Channel Port Name -- STRING */ #define DVI$_FC_NODE_NAME 342 /* Fibre Channel Node Name -- STRING */ #define DVI$_WWID 344 /* SCSI Fibre Channel Device (Disk, Tape, etc.) */ /* World Wide Identifier -- STRING */ #define DVI$_VOLCHAR 346 /* Volume Characteristics (16 bytes) */ #define DVI$_HBVS_MASTER_MEMBER 348 /* This device is master member of of shadow set */ #define DVI$_MULTIPATH 350 /* this device is a member of a multipath set */ #define DVI$_MPDEV_CURRENT_PATH 352 /* the current path of the multipath set */ #define DVI$_VOLSIZE 354 /* the current logical volume size */ #define DVI$_EXPSIZE 356 /* the growth limit of the volume */ #define DVI$_QLEN 358 /* the queue length on the device */ #define DVI$_SHDW_SITE 360 /* the shadowing site-specific value for the device */ #define DVI$_SHDW_MBR_COUNT 362 /* the number of full members in a virtual unit */ #define DVI$_SHDW_DEVICE_COUNT 364 /* the number of members in a virtual unit */ #define DVI$_SHDW_MBR_READ_COST 366 /* the read cost for a member */ #define DVI$_SHDW_READ_SOURCE 368 /* the name of the member from which reads occur */ #define DVI$_SHDW_TIMEOUT 370 /* the timeout value for the device */ #define DVI$_DVI_UNUSED_1 372 /* Had been shdw_start_delay */ #define DVI$_SHDW_GENERATION 374 /* the generation number */ #define DVI$_SHDW_STATUS 376 /* the status of either the member or virtual unit */ #define DVI$_SHDW_MBR_COPY_DONE 378 /* the percent done of a copy operation */ #define DVI$_SHDW_MBR_MERGE_DONE 380 /* the percent done of a full merge operation */ #define DVI$_SHDW_MINIMERGE_ENABLE 382 /* is this virtual unit enabled for mini-merge? */ #define DVI$_DVI_UNUSED_2 384 /* had been shdw_minimerge_capable */ #define DVI$_SHDW_COPIER_NODE 386 /* the node on which the copy is being done */ #define DVI$_SHDW_MASTER_MBR 388 /* the device that is the master member of the virtual unit */ #define DVI$_MPDEV_AUTO_PATH_SW_CNT 390 /* number of times the device switched paths due to an I/O error */ #define DVI$_MPDEV_MAN_PATH_SW_CNT 392 /* number of times the device switched paths due to $SET DEVICE /PATH= /SWITCH */ #define DVI$_WRITETHRU_CACHE_ENABLED 394 /* vcb$v_writethru */ #define DVI$_NOCACHE_ON_VOLUME 396 /* vcb$v_nocache */ #define DVI$_MOUNTVER_ELIGIBLE 398 /* vcb$v_mountver */ #define DVI$_ERASE_ON_DELETE 400 /* vcb$v_erase */ #define DVI$_NOHIGHWATER 402 /* vcb$v_nohighwater */ #define DVI$_NOSHARE_MOUNTED 404 /* vcb$v_noshare */ #define DVI$_CLUSLOCK 406 /* vcb$v_cluslock */ #define DVI$_ODS2_SUBSET0 408 /* vcb$v_subset0 */ #define DVI$_PROT_SUBSYSTEM_ENABLED 410 /* vcb$v_subsystem */ #define DVI$_ODS5 412 /* vcb$v_struc_ods5 */ #define DVI$_ACCESSTIMES_RECORDED 414 /* vcb$v_accesstimes */ #define DVI$_HARDLINKS_SUPPORTED 416 /* vcb$v_hardlinks */ #define DVI$_SCSI_DEVICE_FIRMWARE_REV 418 /* firmware revision level for SCSI devices */ #define DVI$_TOTAL_PATH_COUNT 420 /* number of configured multipath paths */ #define DVI$_AVAILABLE_PATH_COUNT 422 /* number of working and enabled paths */ #define DVI$_VOLUME_EXTEND_QUANTITY 424 /* default volume extend quantity */ #define DVI$_MOUNT_TIME 426 /* time the volume was mounted */ #define DVI$_VOLUME_MOUNT_SYS 428 /* vcb$v_system */ #define DVI$_VOLUME_MOUNT_GROUP 430 /* vcb$v_group */ #define DVI$_PATH_AVAILABLE 432 /* */ #define DVI$_PATH_USER_DISABLED 434 /* */ #define DVI$_PATH_NOT_RESPONDING 436 /* sud$v_not_responding */ #define DVI$_PATH_POLL_ENABLED 438 /* */ #define DVI$_MVSUPMSG 440 /* sud$v_mvsupmsg_auto */ #define DVI$_PATH_SWITCH_TO_TIME 442 #define DVI$_PATH_SWITCH_FROM_TIME 444 #define DVI$_ERROR_RESET_TIME 446 #define DVI$_DEVICE_MAX_IO_SIZE 448 #define DVI$_VOLUME_RETAIN_MAX 450 #define DVI$_VOLUME_RETAIN_MIN 452 #define DVI$_PREFERRED_CPU_BITMAP 454 /* Bitmap indicating Fast Path CPU */ #define DVI$_MAILBOX_INITIAL_QUOTA 456 #define DVI$_MAILBOX_BUFFER_QUOTA 458 #define DVI$_VOLUME_WINDOW 460 #define DVI$_VOLUME_SPOOLED_DEV_CNT 462 #define DVI$_VOLUME_PENDING_WRITE_ERR 464 #define DVI$_LAN_SPEED 466 #define DVI$_LAN_LINK_UP 468 #define DVI$_LAN_DEFAULT_MAC_ADDRESS 470 #define DVI$_LAN_MAC_ADDRESS 472 #define DVI$_LAN_FULL_DUPLEX 474 #define DVI$_LAN_ALL_MULTICAST_MODE 476 #define DVI$_LAN_PROMISCUOUS_MODE 478 #define DVI$_LAN_JUMBO_FRAMES_ENABLED 480 #define DVI$_LAN_AUTONEG_ENABLED 482 #define DVI$_LAN_PROTOCOL_TYPE 484 #define DVI$_LAN_PROTOCOL_NAME 486 #define DVI$_LAN_LINK_STATE_VALID 488 #define DVI$_FC_HBA_FIRMWARE_REV 490 #define DVI$_ADAPTER_IDENT 492 #define DVI$_MOUNTCNT_CLUSTER 494 #define DVI$_SHDW_HBMM_RESET_COUNT 496 #define DVI$_SHDW_HBMM_RESET_TIME 498 #define DVI$_SPECIAL_FILES 500 /* vcb$v_special_files */ #define DVI$_NOXFCCACHE_ON_VOLUME 502 /* vcb$v_noxfccache */ #define DVI$_XFC_DEPOSING 504 /* vcb$v_xfc_deposing */ #define DVI$_SSD_USAGE_REMAINING 506 /* for SSD disk */ #define DVI$_SSD_LIFE_REMAINING 508 /* for SSD disk */ /* */ /**** ADD NEW ITEM-CODES IMMEDIATELY BEFORE THIS COMMENT ***** */ /* */ /* */ /* Define flag bits in the item code. */ /* */ #define DVI$M_SECONDARY 0x1 #define DVI$M_NOREDIRECT 0x8000 #ifdef __NEW_STARLET typedef struct _dvidef { unsigned dvi$v_secondary : 1; /* Use secondary device characteristics */ unsigned dvi$v_item_code : 14; /* Space for item code */ /* Define additional flags here, subtracting the space out of the */ /* above item code. (The item code must contain all the unused bits */ /* for proper validation in the service.) */ unsigned dvi$v_noredirect : 1; /* Don't redirect to virtual terminal */ } DVIDEF; #else /* __OLD_STARLET */ struct dvidef { unsigned dvi$v_secondary : 1; /* Use secondary device characteristics */ unsigned dvi$v_item_code : 14; /* Space for item code */ /* Define additional flags here, subtracting the space out of the */ /* above item code. (The item code must contain all the unused bits */ /* for proper validation in the service.) */ unsigned dvi$v_noredirect : 1; /* Don't redirect to virtual terminal */ } ; #endif /* #ifdef __NEW_STARLET */ /* */ /* Define flag bits in the volume characteristics item code. */ /* */ #define DVI$M_VOL_READDIR 0xF #define DVI$C_READDIR_NONE 0 /* directory cannot be read (scan with repeated IO$_ACCESS) */ #define DVI$C_READDIR_VIO 1 /* read directory via IO$_READVBLK */ #define DVI$C_READDIR_IO 2 /* read directory via IO$_READDIR */ #define DVI$C_READDIR_ACP 3 /* read directory via IO$_ACPCNTRL */ #define DVI$M_VOL_LENGTH_HINT 0x10 #define DVI$M_VOL_CACHING_ATTR 0x20 #define DVI$M_VOL_ACCESS_DATE 0x40 #define DVI$M_VOL_HARDLINK 0x80 #define DVI$M_VOL_SET_SECURITY 0x100 #define DVI$M_VOL_FID_TO_NAME 0x200 #define DVI$M_VOL_ODS1_STYLE_PURGE 0x400 #define DVI$M_VOL_SHARED_TRUNCATE 0x800 #define DVI$M_VOL_WRITE_BARRIER 0x1000 #define DVI$M_VOL_DIRSEQ_QIO 0x2000 #define DVI$M_VOL_EFS 0x4000 #define DVI$M_VOL_UCS2 0x8000 #define DVI$M_VOL_CASE_VARIANT 0x10000 #define DVI$M_VOL_MODDATE 0x20000 #define DVI$M_VOL_SPECIAL_FILE 0x40000 #define DVI$M_VOL_SSIO 0x80000 #define DVI$M_VOL_LOOKUP_SPECIAL 0x100000 #ifdef __NEW_STARLET typedef struct _dvivoldef { __union { char dvi$b_vol_char [16]; __struct { unsigned dvi$v_vol_readdir : 4; /* Read/scan a directory (4 bit field): */ unsigned dvi$v_vol_length_hint : 1; /* file length hint */ unsigned dvi$v_vol_caching_attr : 1; /* support 'caching attribute' (contents, atttribute, on_close) */ unsigned dvi$v_vol_access_date : 1; /* access date */ unsigned dvi$v_vol_hardlink : 1; /* hardlink */ unsigned dvi$v_vol_set_security : 1; /* set volume security profile support */ unsigned dvi$v_vol_fid_to_name : 1; /* ATR$C_FILE_SPEC attribute (lib$fid_to_name) */ unsigned dvi$v_vol_ods1_style_purge : 1; /* post ODS1 style purge operation */ unsigned dvi$v_vol_shared_truncate : 1; /* Support truncate when open shared (Spiralog only?) */ unsigned dvi$v_vol_write_barrier : 1; /* Support IO$M_WRITE_BARRIER (vs IO$M_BARRIER) */ unsigned dvi$v_vol_dirseq_qio : 1; /* read/arm DIRSEQ by QIO */ unsigned dvi$v_vol_efs : 1; /* extended file specification */ unsigned dvi$v_vol_ucs2 : 1; /* ucs2 file names */ unsigned dvi$v_vol_case_variant : 1; /* case variant names */ unsigned dvi$v_vol_moddate : 1; /* support for modification date (ATR$C_MODDATE). */ unsigned dvi$v_vol_special_file : 1; /* special file support including symbolic links (SYMLINK) */ unsigned dvi$v_vol_ssio : 1; /* support for shared stream I/O (SSIO) */ unsigned dvi$v_vol_lookup_special : 1; /* support for special file detection in file lookup */ unsigned dvi$v_fill_118_ : 3; } dvi$r_vol_char_fields; } dvi$r_dvivol_overlay; } DVIVOLDEF; #if !defined(__VAXC) #define dvi$v_vol_readdir dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_readdir #define dvi$v_vol_length_hint dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_length_hint #define dvi$v_vol_caching_attr dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_caching_attr #define dvi$v_vol_access_date dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_access_date #define dvi$v_vol_hardlink dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_hardlink #define dvi$v_vol_set_security dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_set_security #define dvi$v_vol_fid_to_name dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_fid_to_name #define dvi$v_vol_ods1_style_purge dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_ods1_style_purge #define dvi$v_vol_shared_truncate dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_shared_truncate #define dvi$v_vol_write_barrier dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_write_barrier #define dvi$v_vol_dirseq_qio dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_dirseq_qio #define dvi$v_vol_efs dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_efs #define dvi$v_vol_ucs2 dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_ucs2 #define dvi$v_vol_case_variant dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_case_variant #define dvi$v_vol_moddate dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_moddate #define dvi$v_vol_special_file dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_special_file #define dvi$v_vol_ssio dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_ssio #define dvi$v_vol_lookup_special dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_lookup_special #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ struct dvivoldef { __union { char dvi$b_vol_char [16]; __struct { unsigned dvi$v_vol_readdir : 4; /* Read/scan a directory (4 bit field): */ unsigned dvi$v_vol_length_hint : 1; /* file length hint */ unsigned dvi$v_vol_caching_attr : 1; /* support 'caching attribute' (contents, atttribute, on_close) */ unsigned dvi$v_vol_access_date : 1; /* access date */ unsigned dvi$v_vol_hardlink : 1; /* hardlink */ unsigned dvi$v_vol_set_security : 1; /* set volume security profile support */ unsigned dvi$v_vol_fid_to_name : 1; /* ATR$C_FILE_SPEC attribute (lib$fid_to_name) */ unsigned dvi$v_vol_ods1_style_purge : 1; /* post ODS1 style purge operation */ unsigned dvi$v_vol_shared_truncate : 1; /* Support truncate when open shared (Spiralog only?) */ unsigned dvi$v_vol_write_barrier : 1; /* Support IO$M_WRITE_BARRIER (vs IO$M_BARRIER) */ unsigned dvi$v_vol_dirseq_qio : 1; /* read/arm DIRSEQ by QIO */ unsigned dvi$v_vol_efs : 1; /* extended file specification */ unsigned dvi$v_vol_ucs2 : 1; /* ucs2 file names */ unsigned dvi$v_vol_case_variant : 1; /* case variant names */ unsigned dvi$v_vol_moddate : 1; /* support for modification date (ATR$C_MODDATE). */ unsigned dvi$v_vol_special_file : 1; /* special file support including symbolic links (SYMLINK) */ unsigned dvi$v_vol_ssio : 1; /* support for shared stream I/O (SSIO) */ unsigned dvi$v_vol_lookup_special : 1; /* support for special file detection in file lookup */ unsigned dvi$v_fill_118_ : 3; } dvi$r_vol_char_fields; } dvi$r_dvivol_overlay; } ; #if !defined(__VAXC) #define dvi$v_vol_readdir dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_readdir #define dvi$v_vol_length_hint dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_length_hint #define dvi$v_vol_caching_attr dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_caching_attr #define dvi$v_vol_access_date dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_access_date #define dvi$v_vol_hardlink dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_hardlink #define dvi$v_vol_set_security dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_set_security #define dvi$v_vol_fid_to_name dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_fid_to_name #define dvi$v_vol_ods1_style_purge dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_ods1_style_purge #define dvi$v_vol_shared_truncate dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_shared_truncate #define dvi$v_vol_write_barrier dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_write_barrier #define dvi$v_vol_dirseq_qio dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_dirseq_qio #define dvi$v_vol_efs dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_efs #define dvi$v_vol_ucs2 dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_ucs2 #define dvi$v_vol_case_variant dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_case_variant #define dvi$v_vol_moddate dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_moddate #define dvi$v_vol_special_file dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_special_file #define dvi$v_vol_ssio dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_ssio #define dvi$v_vol_lookup_special dvi$r_dvivol_overlay.dvi$r_vol_char_fields.dvi$v_vol_lookup_special #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* */ /* Constant form of name for past compatibility. */ /* */ #define DVI$C_SECONDARY 1 /* */ /* The following ACP type codes are formally defined in $AQBDEF */ /* These synonyms are available to user programs and they are */ /* guaranteed to be consistent by ASSUME's in SYSGETDVI. Additions */ /* to the ACP type codes in $AQBDEF should be reflected here and */ /* in the ASSUMES in SYSGETDVI. */ /* */ /* If you add ACP codes here, you must also update the ACP_TYPES */ /* text translation table embedded over in [lib]liblexica.bli. */ /* */ #define DVI$C_ACP_F11V1 1 /* FILES-11 STRUCTURE LEVEL 1 */ #define DVI$C_ACP_F11V2 2 /* FILES-11 STRUCTURE LEVEL 2 */ #define DVI$C_ACP_MTA 3 /* MAGTAPE */ #define DVI$C_ACP_NET 4 /* NETWORKS */ #define DVI$C_ACP_REM 5 /* REMOTE I/O */ #define DVI$C_ACP_HBS 6 /* HOST BASED SHADOWING */ #define DVI$C_ACP_F11V3 7 /* Files-11 presentation of ISO 9660 */ #define DVI$C_ACP_F11V4 8 /* Files-11 presentation of High Sierra */ #define DVI$C_ACP_F64 9 /* Files 64 support for Dollar */ #define DVI$C_ACP_UCX 10 /* ACP for TCP/IP Services for OpenVMS */ #define DVI$C_ACP_F11V5 11 /* FILES-11 STRUCTURE LEVEL 5 */ #define DVI$C_ACP_F11V6 12 /* FILES-11 STRUCTURE LEVEL 6 */ #define DVI$C_ACP_HBVS 13 /* Host Based Volume Shadowing SCP */ #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 /* __DVIDEF_LOADED */