/**/ /***************************************************************************/ /** **/ /** © 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:24:46 by OpenVMS SDL EV3-3 */ /* Source: 13-MAY-1993 10:46:37 $1$DGA7274:[LIB_H.SRC]F11DDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $F11DDEF IDENT X-3 ***/ #ifndef __F11DDEF_LOADED #define __F11DDEF_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 /* */ /* File sections shall be recorded in the Data Area. The following types of */ /* descriptors shall be record in the data area of a volume. */ /* */ /* o Volume Descriptors */ /* o Boot Record (BOOT) */ /* o Volume Descriptor Set Terminator (VDST) */ /* o Primary Volume Descriptor (PVD) */ /* o Supplementary Volume Descriptor (SVD) */ /* o Volume Partition Descriptor (VPD) */ /* o File Descriptors */ /* o Directory Descriptors */ /* o Path Tables */ /* */ /* */ /* ISO 9660 standard constants */ /* */ #define HS$K_LOGICAL_BLOCK_SIZE 2048 /* Current Volume Descriptor Block Size */ #define HS$K_SYSTEM_AREA 0 /* Logical Block number of System Area */ #define HS$K_DATA_AREA 16 /* Logical Block number of Data Area */ #define HS$K_ISO_9660_VERSION_1988 1 /* Volume Descriptor Version # for ISO 9660 (1988) */ /* */ /* Character set coding */ /* */ #define HS$K_SPACE 32 /* ' ' fill character */ #define HS$K_FULL_STOP 46 /* '.'-filename.extension break */ #define HS$K_SEMICOLON 59 /* ';'-extension;version break */ #define HS$K_ROOT_DIRECTORY_ID 0 /* Root Directory Identifier */ #define HS$K_PARENT_DIRECTORY_ID 1 /* Parent Directory Identifier */ /*+ */ /* FILE_ID */ /* */ /* A File Identifier consist of the following sequence: */ /* - File name : A sequence of 0 -> 30 'D' or 'D1' characters */ /* - FULL_STOP */ /* - Extension : A sequence of 0 -> 30 'D' or 'D1' characters */ /* - SEMICOLON */ /* - Version # : A sequence of 1 to 5 digits; up to "32767" */ /* If 'File Name' length equals 0, then Extension must be 1 or greater */ /* If 'Extension' length equals 0, then File Name must be 1 or greater */ /* if 'Version' length equals 0, then Version is assumed to be 1 */ /* The length of 'File Name' + 'Extension' must not exceed 30. */ /*- */ #define HS$FNAME$S_FILE_ID 32 /* Old size name - synonym */ typedef struct _f11d_file_id { char hs$fname$t_file_name_ext [32]; /* filename.ext;version */ } F11D_FILE_ID; /*+ */ /* Identifier */ /* */ /* This descriptor shall specify an identifier. If all bytes in this */ /* field are set to %X20, it shall mean that no such identifier is defined. */ /*- */ #define HS$ID$S_IDENTIFIER 128 /* Old size name - synonym */ typedef union _f11d_identifier { char hs$id$b_data [128]; /* Text Identifier */ } F11D_IDENTIFIER; /*+ */ /* ASCII_DATE_TIME */ /* */ /* The date and time shall be represented by a 16-byte field. */ /* If Byte positions 1-16 are the digit '0' then */ /* it shall mean that date and time are not specified. */ /*- */ #define HS$AUTC$S_ASCII_DATE_TIME 16 /* Old size name - synonym */ typedef struct _f11d_ascii_date { char hs$autc$t_year [4]; /* year (1-9999) */ char hs$autc$t_month [2]; /* month (1-12) */ char hs$autc$t_day [2]; /* day (1-31) */ char hs$autc$t_hour [2]; /* hour (0-23) */ char hs$autc$t_minute [2]; /* minute (0-59) */ char hs$autc$t_second [2]; /* second (0-59) */ char hs$autc$t_hundredth [2]; /* hundredth (0-99) */ } F11D_ASCII_DATE; /*+ */ /* BINARY_DATE_TIME */ /* */ /* The data and time shall be represented by six 8-bit numbers */ /*- */ #define HS$BUTC$S_BINARY_DATE_TIME 6 /* Old size name - synonym */ typedef struct _f11d_binary_date { unsigned char hs$butc$b_year; /* year since 1900 (1-99) */ unsigned char hs$butc$b_month; /* month (1-12) */ unsigned char hs$butc$b_day; /* day (1-31) */ unsigned char hs$butc$b_hour; /* hour (0-23) */ unsigned char hs$butc$b_minute; /* minute (0-59) */ unsigned char hs$butc$b_second; /* second (0-59) */ } F11D_BINARY_DATE; /*+ */ /* PATH_TABLE_RECORD */ /* */ /* A Path Table contain a set of records describing a directory hierarchy */ /* for those volume of a Volume Set the sequence numbers of which are less */ /* than, or equal to, the assigned Volume Set size of the volume. */ /* */ /* For each directory in the directory hierarchy other then the Root */ /* Directory, the Path Table shall contain a record which identifies */ /* the directory, its Parent Directory and its location. The records */ /* in a Path Table shall be number starting at 1. The first record in */ /* the Path Table shall identify the Root Directory and it location. */ /* */ /*- */ #define HS$PTBL$S_PATH_TABLE_RECORD 40 /* Old size name - synonym */ typedef struct _f11d_path_table_rec { unsigned int hs$ptbl$l_extent_location; /* Location of Extent */ unsigned char hs$ptbl$b_xar_length; /* Extended Attribute Record length */ unsigned char hs$ptbl$b_directory_id_length; /* Length of directory Identifier */ unsigned short int hs$ptbl$w_parent_directory; /* Parent Directory Number */ char hs$ptbl$t_directory_id [32]; /* Directory Identifier (dirname) */ } F11D_PATH_TABLE_REC; /*+ */ /* DIRECTORY */ /* This descriptor shall define a directory record. A directory record */ /* contains information to locate a File Section; an Extended Attribute */ /* Record associated with a File Section; the identification of a file; */ /* attributes of a file and file section. */ /*- */ #define HS$DREC$M_EXISTENCE 0x1 #define HS$DREC$M_DIRECTORY 0x2 #define HS$DREC$M_ASSOCIATED 0x4 #define HS$DREC$M_RECORD 0x8 #define HS$DREC$M_PROTECTION 0x10 #define HS$DREC$M_RESERVED 0x60 #define HS$DREC$M_MULTI_EXTENT 0x80 #define HS$DREC$A_PADDING 34 /* Pad byte */ #define HS$DREC$A_SYSTEM_USE 34 /* System use */ #define HS$DREC$S_DIRECTORY 512 /* Old size name - synonym */ typedef struct _f11d_directory { unsigned char hs$drec$b_directory_length; /* Length of directory record */ unsigned char hs$drec$b_xar_length; /* Extended Attribute Length */ unsigned int hs$drec$l_extent_location; /* Location of Extent (LBN) */ unsigned int hs$drec$l_extent_location_m; /* Location of Extent (LBN) */ unsigned int hs$drec$l_data_length; /* Data Length of File Section */ unsigned int hs$drec$l_data_length_m; /* Data Length of File Section */ char hs$drec$b_file_recording [6]; /* Recording Date/Time of extent */ __union { unsigned char hs$drec$b_file_flags; /* File characteristics */ __struct { unsigned hs$drec$v_existence : 1; /* If set; nonexistent */ unsigned hs$drec$v_directory : 1; /* If set; directory record */ unsigned hs$drec$v_associated : 1; /* If set; associated file */ unsigned hs$drec$v_record : 1; /* If set; record format via XAR.RFM */ unsigned hs$drec$v_protection : 1; /* If set; enforce protection */ unsigned hs$drec$v_reserved : 2; /* Reserved */ unsigned hs$drec$v_multi_extent : 1; /* If set; extend record */ } hs$drec$r_file_flags; } hs$drec$r_file_flags_overlay; char hs$drec$b_reserved; /* Reserved */ unsigned char hs$drec$b_file_unit_size; /* Interleave File Unit Size */ unsigned char hs$drec$b_interleave_gap; /* Interleave gap size */ unsigned short int hs$drec$w_volume_number; /* Volume Sequence # of extent */ unsigned short int hs$drec$w_volume_number_m; /* Volume Sequence # of extent */ unsigned char hs$drec$b_file_id_length; /* File Identifier Field Length */ char hs$drec$b_file_id; /* File Identifier */ char hs$drec$b_ [478]; /* Fill out to maximum size */ } F11D_DIRECTORY; #if !defined(__VAXC) #define hs$drec$b_file_flags hs$drec$r_file_flags_overlay.hs$drec$b_file_flags #define hs$drec$v_existence hs$drec$r_file_flags_overlay.hs$drec$r_file_flags.hs$drec$v_existence #define hs$drec$v_directory hs$drec$r_file_flags_overlay.hs$drec$r_file_flags.hs$drec$v_directory #define hs$drec$v_associated hs$drec$r_file_flags_overlay.hs$drec$r_file_flags.hs$drec$v_associated #define hs$drec$v_record hs$drec$r_file_flags_overlay.hs$drec$r_file_flags.hs$drec$v_record #define hs$drec$v_protection hs$drec$r_file_flags_overlay.hs$drec$r_file_flags.hs$drec$v_protection #define hs$drec$v_multi_extent hs$drec$r_file_flags_overlay.hs$drec$r_file_flags.hs$drec$v_multi_extent #endif /* #if !defined(__VAXC) */ /*+ */ /* XAR_RECORD */ /* This descriptor shall define an Extended Attribute Record. An */ /* extended attribute record contains addition information which */ /* is associated to a File Section. */ /* */ /*- */ #define HS$XAR$M_SYS_NO_READ 0x1 #define HS$XAR$M_FILL_1 0x2 #define HS$XAR$M_SYS_NO_EXECUTE 0x4 #define HS$XAR$M_FILL_2 0x8 #define HS$XAR$M_OWN_NO_READ 0x10 #define HS$XAR$M_FILL_3 0x20 #define HS$XAR$M_OWN_NO_EXECUTE 0x40 #define HS$XAR$M_FILL_4 0x80 #define HS$XAR$M_GRP_NO_READ 0x100 #define HS$XAR$M_FILL_5 0x200 #define HS$XAR$M_GRP_NO_EXECUTE 0x400 #define HS$XAR$M_FILL_6 0x800 #define HS$XAR$M_WLD_NO_READ 0x1000 #define HS$XAR$M_FILL_7 0x2000 #define HS$XAR$M_WLD_NO_EXECUTE 0x4000 #define HS$XAR$M_FILL_8 0x8000 #define HS$XAR$RFM$K_UNDEFINED 0 #define HS$XAR$RFM$K_FIXED 1 #define HS$XAR$RFM$K_LSB_VARIABLE 2 #define HS$XAR$RFM$K_MSB_VARIABLE 3 #define HS$XAR$RFM$SYS$K_UNDEFINED 128 #define HS$XAR$RFM$SYS$K_FIXED 129 #define HS$XAR$RFM$SYS$K_VARIABLE 130 #define HS$XAR$RFM$SYS$K_VFC 131 #define HS$XAR$RFM$SYS$K_STREAM 132 #define HS$XAR$RFM$SYS$K_STREAMLF 133 #define HS$XAR$RFM$SYS$K_STREAMCR 134 #define HS$XAR$ATR$K_CRLF 0 #define HS$XAR$ATR$K_FTN 1 #define HS$XAR$ATR$K_STM 2 #define HS$XAR$S_XAR_RECORD 512 /* Old size name - synonym */ typedef struct _f11d_xar_record { unsigned short int hs$xar$w_owner_id; /* Owner Identification */ unsigned short int hs$xar$w_owner_id_m; /* Owner Identification */ unsigned short int hs$xar$w_group_id; /* Group Identification */ unsigned short int hs$xar$w_group_id_m; /* Group Identification */ __union { unsigned short int hs$xar$w_permissions; /* Access permission for classes of users */ __struct { unsigned hs$xar$v_sys_no_read : 1; /* If set; ~(S:R) */ unsigned hs$xar$v_fill_1 : 1; /* Must be set to 1 */ unsigned hs$xar$v_sys_no_execute : 1; /* If set; ~(S:E) */ unsigned hs$xar$v_fill_2 : 1; /* Must be set to 1 */ unsigned hs$xar$v_own_no_read : 1; /* If set; ~(O:R) */ unsigned hs$xar$v_fill_3 : 1; /* Must be set to 1 */ unsigned hs$xar$v_own_no_execute : 1; /* If set; ~(O:E) */ unsigned hs$xar$v_fill_4 : 1; /* Must be set to 1 */ unsigned hs$xar$v_grp_no_read : 1; /* If set; ~(G:R) */ unsigned hs$xar$v_fill_5 : 1; /* Must be set to 1 */ unsigned hs$xar$v_grp_no_execute : 1; /* If set; ~(G:E) */ unsigned hs$xar$v_fill_6 : 1; /* Must be set to 1 */ unsigned hs$xar$v_wld_no_read : 1; /* If set; ~(W:R) */ unsigned hs$xar$v_fill_7 : 1; /* Must be set to 1 */ unsigned hs$xar$v_wld_no_execute : 1; /* If set; ~(W:E) */ unsigned hs$xar$v_fill_8 : 1; /* Must be set to 1 */ } hs$xar$r_permissions_bits; } hs$xar$r_permissions_overlay; char hs$xar$b_file_creation [16]; /* File Creation Date/Time */ char hs$xar$b_file_modification [16]; /* File Modification Date/Time */ char hs$xar$b_file_expiration [16]; /* File Expiration Date/Time */ char hs$xar$b_file_effective [16]; /* File Effective Date/Time */ unsigned char hs$xar$b_record_format; /* Record Format */ unsigned char hs$xar$b_record_attributes; /* Record Attributes */ unsigned short int hs$xar$w_record_length; /* Record Length */ unsigned short int hs$xar$w_record_length_m; /* Record Length */ char hs$xar$t_system_id [32]; /* System Identifier */ char hs$xar$b_system_use [64]; /* System Used */ unsigned char hs$xar$b_xar_version; /* Extended Attribute Version */ char hs$xar$b_reserved [64]; /* Reserved */ unsigned short int hs$xar$w_parent_directory; /* Parent Directory Number */ unsigned short int hs$xar$w_parent_directory_m; /* Parent Directory Number */ unsigned short int hs$xar$w_application_length; /* Application Use Length */ unsigned short int hs$xar$w_application_length_m; /* Application Use Length */ char hs$xar$b_root_directory [34]; /* Root Directory Record */ char hs$xar$b_application_use [229]; /* Application Use */ } F11D_XAR_RECORD; #if !defined(__VAXC) #define hs$xar$w_permissions hs$xar$r_permissions_overlay.hs$xar$w_permissions #define hs$xar$v_sys_no_read hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_sys_no_read #define hs$xar$v_sys_no_execute hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_sys_no_execute #define hs$xar$v_own_no_read hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_own_no_read #define hs$xar$v_own_no_execute hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_own_no_execute #define hs$xar$v_grp_no_read hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_grp_no_read #define hs$xar$v_grp_no_execute hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_grp_no_execute #define hs$xar$v_wld_no_read hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_wld_no_read #define hs$xar$v_wld_no_execute hs$xar$r_permissions_overlay.hs$xar$r_permissions_bits.hs$xar$v_wld_no_execute #endif /* #if !defined(__VAXC) */ /*+ */ /* Volume Descriptor */ /* */ /* The Volume Descriptor shall Identify the volume, the partitions recorded */ /* on the volume, the volume creator(s), certain attributes of the volume, */ /* the location of other recorded descriptors and the version of the */ /* standard which applies to the volume descriptor. */ /* */ /*- */ #define HS$VD$K_BOOT 0 /* Boot Record Descriptor */ #define HS$VD$K_PVD 1 /* Primary Volume Descriptor */ #define HS$VD$K_SVD 2 /* Supplementary Volume Descriptor */ #define HS$VD$K_VPD 3 /* Volume Partition Descriptor */ /* (Values 4 to 254 are reserved) */ #define HS$VD$K_VDST 255 /* Volume Descriptor Set Terminator */ #define HS$VD$S_VD 2048 /* Old size name - synonym */ typedef struct _f11d_vd { unsigned int hs$vd$l_descriptor_lbn; /* LBN of first logical block */ unsigned int hs$vd$l_descriptor_lbn_m; /* LBN of first logical block */ unsigned char hs$vd$b_volume_descriptor_type; /* Volume Descriptor Type */ char hs$vd$t_standard_identifier [5]; /* International Standard Id. (CDROM) */ unsigned char hs$vd$b_volume_descriptor_vers; /* Volume Descriptor Version */ char hs$vd$b_volume_data [2033]; /* Volume Descriptor Data */ } F11D_VD; /*+ */ /* Boot Record */ /* */ /* The Boot Record shall Identify a system which can recognize and act upon */ /* the content of the field reserved for boot system use in the Boot */ /* Record, and shall contain information which is used to achieve a */ /* specific state for a system or for an application. */ /* */ /*- */ #define HS$BOOT$S_BOOT 2048 /* Old size name - synonym */ typedef struct _f11d_boot { char hs$boot$b_boot_volume [15]; /* Boot Volume Descriptor */ char hs$boot$t_system_identifier [32]; /* Boot System Identifier */ char hs$boot$t_identifier [32]; /* Boot Identifier */ char hs$boot$b_system_use [1969]; /* Boot System Use */ } F11D_BOOT; /*+ */ /* Volume Descriptor Sequence Terminator */ /* */ /* The recorded set of Volume Descriptors shall be terminated by a sequence */ /* of one or more Volume Descriptor Set Terminators */ /* */ /*- */ #define HS$VDST$S_VDST 2048 /* Old size name - synonym */ typedef struct _f11d_vdst { char hs$vdst$b_terminator_volume [15]; /* Volume Descriptor Set */ char hs$vdst$b_reserved [2033]; /* Reserved */ } F11D_VDST; /*+ */ /* Standard File Structure Volume Descriptor */ /* */ /* The Standard File Structure Volume Descriptor shall Identify the volume, a system which */ /* can recognize and act upon the content of the Logical Sectors with */ /* Logical Sector Number 0 to 15, the size of the Volume Space, the version */ /* of the standard which applies to the Volume Descriptor, the version of */ /* the specification which applies to the Directory Records and the Path */ /* Table Records and certain attributes of the volume. */ /* */ /*- */ #define HS$PVD$S_PVD 2048 /* Old size name - synonym */ typedef struct _f11d_pvd { char hs$pvd$b_primary_volume [15]; /* Standard File Structure Volume Descriptor */ char hs$pvd$b_unused_field1; /* Unused field */ char hs$pvd$t_system_identifier [32]; /* System Identifier */ char hs$pvd$t_volume_identifier [32]; /* Volume Identifier */ char hs$pvd$b_unused_field2 [8]; /* Unused field */ unsigned int hs$pvd$l_volume_space_size; /* Volume Space Size */ unsigned int hs$pvd$l_volume_space_size_m; /* Volume Space Size */ char hs$pvd$b_unused_field3 [32]; /* Unused field */ unsigned short int hs$pvd$w_volume_set_size; /* Volume Set Size */ unsigned short int hs$pvd$w_volume_set_size_m; /* Volume Set Size */ unsigned short int hs$pvd$w_volume_number; /* Volume Sequence Number */ unsigned short int hs$pvd$w_volume_number_m; /* Volume Sequence Number */ unsigned short int hs$pvd$w_logical_block_size; /* Logical Block Size */ unsigned short int hs$pvd$w_logical_block_size_m; /* Logical Block Size */ unsigned int hs$pvd$l_path_table_size; /* Path Table Size */ unsigned int hs$pvd$l_path_table_size_m; /* Path Table Size */ unsigned int hs$pvd$l_path_table; /* Path Table Logical Block # */ unsigned int hs$pvd$l_opt_path_table; /* Optional Path Table Logical Block # */ unsigned int hs$pvd$l_opt_path_table_1; /* Optional Path Table Logical Block # */ unsigned int hs$pvd$l_opt_path_table_2; /* Optional Path Table Logical Block # */ unsigned int hs$pvd$l_path_table_m; /* Path Table Logical Block # */ unsigned int hs$pvd$l_opt_path_table_m; /* Optional Path Table Logical Block # */ unsigned int hs$pvd$l_opt_path_table_m1; /* Optional Path Table Logical Block # */ unsigned int hs$pvd$l_opt_path_table_m2; /* Optional Path Table Logical Block # */ char hs$pvd$b_root_directory [34]; /* Root Directory Record */ char hs$pvd$t_volume_set_identifier [128]; /* Volume Set Identifier */ char hs$pvd$b_publisher_id [128]; /* Publisher Identifier */ char hs$pvd$b_data_preparer_id [128]; /* Data Preparer Identifier */ char hs$pvd$b_application_id [128]; /* Application Identifier */ char hs$pvd$b_copyright_file_id [32]; /* Copyright File Identifier */ char hs$pvd$b_abstract_file_id [32]; /* Abstract File Identifier */ char hs$pvd$b_volume_creation [16]; /* Volume Creation Date/Time */ char hs$pvd$b_volume_modifiy [16]; /* Volume Modification Date/Time */ char hs$pvd$b_volume_expiration [16]; /* Volume Expiration Date/Time */ char hs$pvd$b_volume_effective [16]; /* Volume Effective Date/Time */ unsigned char hs$pvd$b_file_structure_vers; /* File Structure Version */ char hs$pvd$b_reserved1; /* Reserved */ char hs$pvd$b_application_use [512]; /* Application Use field */ char hs$pvd$b_reserved2 [680]; /* Reserved */ } F11D_PVD; /*+ */ /* Coded Character Set File Structure Volume Descriptor */ /* */ /* The Coded Character Set File Structure Volume Descriptor Supplementary shall */ /* Identify the volume, a system which can recognize and act upon the content of */ /* the Logical Sectors with Logical Sector Number 0 to 15, the size of the */ /* Volume Space, the version of the standard which applies to the Volume */ /* Descriptor, the version of the specification which applies to the Directory */ /* Records and the Path Table Records, certain attributes of the volume and the */ /* coded graphic character sets used to interpret descriptor fields that contain */ /* characters. */ /* */ /*- */ #define HS$SVD$M_NON_ISO_2375 0x1 #define HS$SVD$S_SVD 2048 /* Old size name - synonym */ typedef struct _f11d_svd { char hs$svd$b_supplementary_volume [15]; /* Coded Character Set File Structure Volume Descriptor */ __union { unsigned char hs$svd$b_volume_flags; /* Volume characteristics */ __struct { unsigned hs$svd$v_non_iso_2375 : 1; /* If set; Escape Sequence is non ISO-2375 compliant */ unsigned hs$svd$v_fill_0_ : 7; } hs$svd$r_volume_flags_bits; } hs$svd$r_volume_flags_overlay; char hs$svd$t_system_identifier [32]; /* System Identifier */ char hs$svd$t_volume_identifier [32]; /* Volume Identifier */ char hs$svd$b_unused [8]; /* Unused Field */ unsigned int hs$svd$l_volume_space_size; /* Volume Space Size */ unsigned int hs$svd$l_volume_space_size_m; /* Volume Space Size */ char hs$svd$b_escape_sequences [32]; /* Coded Character Set for Descriptor Id */ unsigned short int hs$svd$w_volume_set_size; /* Volume Set Size */ unsigned short int hs$svd$w_volume_set_size_m; /* Volume Set Size */ unsigned short int hs$svd$w_volume_number; /* Volume Sequence Number */ unsigned short int hs$svd$w_volume_number_m; /* Volume Sequence Number */ unsigned short int hs$svd$w_logical_block_size; /* Logical Block Size */ unsigned short int hs$svd$w_logical_block_size_m; /* Logical Block Size */ unsigned int hs$svd$l_path_table_size; /* Path Table Size */ unsigned int hs$svd$l_path_table_size_m; /* Path Table Size */ unsigned int hs$svd$l_path_table; /* Path Table Logical Block # */ unsigned int hs$svd$l_opt_path_table; /* Optional Path Table Logical Block # */ unsigned int hs$svd$l_opt_path_table_1; /* Optional Path Table Logical Block # */ unsigned int hs$svd$l_opt_path_table_2; /* Optional Path Table Logical Block # */ unsigned int hs$svd$l_path_table_m; /* Path Table Logical Block # */ unsigned int hs$svd$l_opt_path_table_m; /* Optional Path Table Logical Block # */ unsigned int hs$svd$l_opt_path_table_m1; /* Optional Path Table Logical Block # */ unsigned int hs$svd$l_opt_path_table_m2; /* Optional Path Table Logical Block # */ char hs$svd$b_root_directory [34]; /* Root Directory Record */ char hs$svd$t_volume_set_identifier [128]; /* Volume Set Identifier */ char hs$svd$b_publisher_id [128]; /* Publisher Identifier */ char hs$svd$b_data_preparer_id [128]; /* Data Preparer Identifier */ char hs$svd$b_application_id [128]; /* Application Identifier */ char hs$svd$b_copyright_file_id [32]; /* Copyright File Identifier */ char hs$svd$b_abstract_file_id [32]; /* Abstract File Identifier */ char hs$svd$b_volume_creation [16]; /* Volume Creation Date/Time */ char hs$svd$b_volume_modifiy [16]; /* Volume Modification Date/Time */ char hs$svd$b_volume_expiration [16]; /* Volume Expiration Date/Time */ char hs$svd$b_volume_effective [16]; /* Volume Effective Date/Time */ unsigned char hs$svd$b_file_structure_vers; /* File Structure Version */ char hs$svd$b_reserved1; /* Reserved */ char hs$svd$b_application_use [512]; /* Application Use field */ char hs$svd$b_reserved2 [680]; /* Reserved */ } F11D_SVD; #if !defined(__VAXC) #define hs$svd$b_volume_flags hs$svd$r_volume_flags_overlay.hs$svd$b_volume_flags #define hs$svd$v_non_iso_2375 hs$svd$r_volume_flags_overlay.hs$svd$r_volume_flags_bits.hs$svd$v_non_iso_2375 #endif /* #if !defined(__VAXC) */ /*+ */ /* Unspecified Partition Descriptor */ /* */ /* The Unspecified Volume Partition Descriptor shall identify a volume partition with */ /* the Volume Space, a system which can recognize and act upon the content */ /* of fields reserved for system use in the Volume Descriptor, the position */ /* and size of the volume partition, the version of the standard which */ /* applies to the Volume Descriptor. */ /* */ /*- */ #define HS$VPD$S_VPD 2048 /* Old size name - synonym */ typedef struct _f11d_vpd { char hs$vpd$b_volume_partition [15]; /* Unspecified Volume Partition Descriptor */ char hs$vpd$b_unused; /* Unused field */ char hs$vpd$t_system_identifier [32]; /* System Identifier */ char hs$vpd$t_partition_identifier [32]; /* Volume Partition Identifier */ unsigned int hs$vpd$l_partition_location; /* Location of Partition (LBN) */ unsigned int hs$vpd$l_partition_location_m; /* Location of Partition (LBN) */ unsigned int hs$vpd$l_partition_size; /* Volume Partition Size */ unsigned int hs$vpd$l_partition_size_m; /* Volume Partition Size */ char hs$vpd$b_system_use [1952]; /* System Use */ } F11D_VPD; #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 /* __F11DDEF_LOADED */