diff options
Diffstat (limited to 'vms/vmsdefs.h')
-rw-r--r-- | vms/vmsdefs.h | 320 |
1 files changed, 320 insertions, 0 deletions
diff --git a/vms/vmsdefs.h b/vms/vmsdefs.h new file mode 100644 index 0000000..d5ca610 --- /dev/null +++ b/vms/vmsdefs.h @@ -0,0 +1,320 @@ +/* + Copyright (c) 1990-2005 Info-ZIP. All rights reserved. + + See the accompanying file LICENSE, version 2004-May-22 or later + (the contents of which are also included in zip.h) for terms of use. + If, for some reason, both of these files are missing, the Info-ZIP license + also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html +*/ +/*--------------------------------------------------------------------------- + + vmsdefs.h + + Contents of three header files from Joe + Meadows' FILE program. Used by vmsmunch + + 06-Apr-1994 Jamie Hanrahan jeh@cmkrnl.com + Moved "contents of three header files" from + VMSmunch.h to VMSdefs.h . + + 16-Sep-1995 Christian Spieler + Added #pragma (no)member_alignment directives + to achieve compatibility with DEC C and Alpha AXP + + 05-Oct-1995 Christian Spieler + Revised fatdef, fchdef, fjndef to achieve closer + compatibility with DEC's system include header files + supplied with C version 4.0 and newer. + + 10-Oct-1995 Christian Spieler + Use lowercase filenames for vms specific sources + (VMSmunch.? -> vmsmunch.?, VMSdefs.h -> vmsdefs.h) + + 15-Dec-1995 Christian Spieler + Removed the last "tabs" from the source. + + 24-Jun-1997 Onno van der Linden / Chr. Spieler + Modifications to support the VMS port of GNU C 2.x. + + 27-Jul-1999 Chr. Spieler + Added Info-ZIP copyright note for identification. + + ---------------------------------------------------------------------------*/ + +#ifndef __vmsdefs_h +#define __vmsdefs_h 1 + +#if defined(__DECC) || defined(__DECCXX) +#pragma __nostandard +#endif /* __DECC || __DECCXX */ + +#if defined(__DECC) || defined(__DECCXX) +#pragma __member_alignment __save +#pragma __nomember_alignment +#endif /* __DECC || __DECCXX */ + +#if !(defined(__VAXC) || defined(VAXC)) || defined(__GNUC__) +#define __struct struct +#define __union union +#else +#define __struct variant_struct +#define __union variant_union +#endif /* !(__VAXC || VAXC) || __GNUC__ */ + +#ifdef __cplusplus + extern "C" { +#endif + +/*--------------------------------------------------------------------------- + fatdef.h + ---------------------------------------------------------------------------*/ + +/* This header file was created by Joe Meadows, and is not copyrighted + in any way. No guarantee is made as to the accuracy of the contents + of this header file. This header file was last modified on Sep. 22th, + 1987. (Modified to include this statement) */ + +#define FAT$K_LENGTH 32 +#define FAT$C_LENGTH 32 +#define FAT$S_FATDEF 32 + +struct fatdef { + __union { + unsigned char fat$b_rtype; /* record type */ + __struct { + unsigned fat$v_rtype : 4; /* record type subfield */ + unsigned fat$v_fileorg : 4; /* file organization */ + } fat$r_rtype_bits; + } fat$r_rtype_overlay; +# define FAT$S_RTYPE 4 +# define FAT$V_RTYPE 0 +# define FAT$C_UNDEFINED 0 +# define FAT$C_FIXED 1 +# define FAT$C_VARIABLE 2 +# define FAT$C_VFC 3 +# define FAT$C_STREAM 4 +# define FAT$C_STREAMLF 5 +# define FAT$C_STREAMCR 6 +# define FAT$S_FILEORG 4 +# define FAT$V_FILEORG 4 +# define FAT$C_SEQUENTIAL 0 +# define FAT$C_RELATIVE 1 +# define FAT$C_INDEXED 2 +# define FAT$C_DIRECT 3 + __union { + unsigned char fat$b_rattrib; /* record attributes */ + __struct { + unsigned fat$v_fortrancc : 1; + unsigned fat$v_impliedcc : 1; + unsigned fat$v_printcc : 1; + unsigned fat$v_nospan : 1; + unsigned fat$v_msbrcw : 1; + } fat$r_rattrib_bits; + } fat$r_rattrib_overlay; +# define FAT$V_FORTRANCC 0 +# define FAT$M_FORTRANCC 1 +# define FAT$V_IMPLIEDCC 1 +# define FAT$M_IMPLIEDCC 2 +# define FAT$V_PRINTCC 2 +# define FAT$M_PRINTCC 4 +# define FAT$V_NOSPAN 3 +# define FAT$M_NOSPAN 8 +# define FAT$V_MSBRCW 4 +# define FAT$M_MSBRCW 16 + unsigned short int fat$w_rsize; /* record size in bytes */ + __union + { + unsigned long int fat$l_hiblk; /* highest allocated VBN */ + __struct + { + unsigned short int fat$w_hiblkh; /* high order word */ + unsigned short int fat$w_hiblkl; /* low order word */ + } fat$r_hiblk_fields; + } fat$r_hiblk_overlay; + __union + { + unsigned long int fat$l_efblk; /* end of file VBN */ + __struct + { + unsigned short int fat$w_efblkh; /* high order word */ + unsigned short int fat$w_efblkl; /* low order word */ + } fat$r_efblk_fields; + } fat$r_efblk_overlay; + unsigned short int fat$w_ffbyte; /* first free byte in EFBLK */ + unsigned char fat$b_bktsize; /* bucket size in blocks */ + unsigned char fat$b_vfcsize; /* # of control bytes in VFC record */ + unsigned short int fat$w_maxrec; /* maximum record size in bytes */ + unsigned short int fat$w_defext; /* default extend quantity */ + unsigned short int fat$w_gbc; /* global buffer count */ + char fat$fill[8]; + unsigned short int fat$w_versions; +}; + +#if !(defined(__VAXC) || defined(VAXC)) || defined(__GNUC__) +#define fat$b_rtype fat$r_rtype_overlay.fat$b_rtype +#define fat$v_rtype fat$r_rtype_overlay.fat$r_rtype_bits.fat$v_rtype +#define fat$v_fileorg fat$r_rtype_overlay.fat$r_rtype_bits.fat$v_fileorg +#define fat$b_rattrib fat$r_rattrib_overlay.fat$b_rattrib +#define fat$v_fortrancc fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_fortrancc +#define fat$v_impliedcc fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_impliedcc +#define fat$v_printcc fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_printcc +#define fat$v_nospan fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_nospan +#define fat$v_msbrcw fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_msbrcw +#define fat$l_hiblk fat$r_hiblk_overlay.fat$l_hiblk +#define fat$w_hiblkh fat$r_hiblk_overlay.fat$r_hiblk_fields.fat$w_hiblkh +#define fat$w_hiblkl fat$r_hiblk_overlay.fat$r_hiblk_fields.fat$w_hiblkl +#define fat$l_efblk fat$r_efblk_overlay.fat$l_efblk +#define fat$w_efblkh fat$r_efblk_overlay.fat$r_efblk_fields.fat$w_efblkh +#define fat$w_efblkl fat$r_efblk_overlay.fat$r_efblk_fields.fat$w_efblkl +#endif /* !(__VAXC || VAXC) || __GNUC__ */ + +#define __FATDEF_LOADED 1 /* prevent inclusion of DECC's fatdef.h */ + +/*--------------------------------------------------------------------------- + fchdef.h + ---------------------------------------------------------------------------*/ + +/* This header file was created by Joe Meadows, and is not copyrighted + in any way. No guarantee is made as to the accuracy of the contents + of this header file. This header file was last modified on Sep. 22th, + 1987. (Modified to include this statement) */ + +#define FCH$V_BADACL 0x00B +#define FCH$M_BADACL (1 << FCH$V_BADACL) +#define FCH$V_BADBLOCK 0x00E +#define FCH$M_BADBLOCK (1 << FCH$V_BADBLOCK) +#define FCH$V_CONTIG 0x007 +#define FCH$M_CONTIG (1 << FCH$V_CONTIG) +#define FCH$V_CONTIGB 0x005 +#define FCH$M_CONTIGB (1 << FCH$V_CONTIGB) +#define FCH$V_DIRECTORY 0x00D +#define FCH$M_DIRECTORY (1 << FCH$V_DIRECTORY) +#define FCH$V_ERASE 0x011 +#define FCH$M_ERASE (1 << FCH$V_ERASE) +#define FCH$V_LOCKED 0x006 +#define FCH$M_LOCKED (1 << FCH$V_LOCKED) +#define FCH$V_MARKDEL 0x00F +#define FCH$M_MARKDEL (1 << FCH$V_MARKDEL) +#define FCH$V_NOBACKUP 0x001 +#define FCH$M_NOBACKUP (1 << FCH$V_NOBACKUP) +#define FCH$V_NOCHARGE 0x010 +#define FCH$M_NOCHARGE (1 << FCH$V_NOCHARGE) +#define FCH$V_READCHECK 0x003 +#define FCH$M_READCHECK (1 << FCH$V_READCHECK) +#define FCH$V_SPOOL 0x00C +#define FCH$M_SPOOL (1 << FCH$V_SPOOL) +#define FCH$V_WRITCHECK 0x004 +#define FCH$M_WRITCHECK (1 << FCH$V_WRITCHECK) +#define FCH$V_WRITEBACK 0x002 +#define FCH$M_WRITEBACK (1 << FCH$V_WRITEBACK) + +struct fchdef { + __union { + int fch$$_fill_1; + __struct { + unsigned fch$$_fill_31 : 8; + unsigned fch$v_vcc_state : 3; /* VCC state bits */ + unsigned fch$$_fill_32 : 7; + unsigned fch$$_alm_state : 2; + unsigned fch$v_associated : 1; /* ISO 9660 Associated file */ + unsigned fch$v_existence : 1; /* ISO 9660 Existence file */ + unsigned fch$v_fill_6 : 2; + } fch$r_fill_1_chunks; + __struct { + unsigned fch$v_wascontig : 1; + unsigned fch$v_nobackup : 1 ; + unsigned fch$v_writeback : 1; + unsigned fch$v_readcheck : 1; + unsigned fch$v_writcheck : 1; + unsigned fch$v_contigb : 1; + unsigned fch$v_locked : 1; + unsigned fch$v_contig : 1; + unsigned fch$$_fill_3 : 3; + unsigned fch$v_badacl : 1; + unsigned fch$v_spool : 1; + unsigned fch$v_directory : 1; + unsigned fch$v_badblock : 1; + unsigned fch$v_markdel : 1; + unsigned fch$v_nocharge : 1; + unsigned fch$v_erase : 1; + unsigned fch$$_fill_4 : 1; + unsigned fch$v_shelved : 1; + unsigned fch$v_scratch : 1; + unsigned fch$v_nomove : 1; + unsigned fch$v_noshelvable : 1; + } fch$r_fill_1_bits; + } fch$r_fch_union; +}; + +#if !(defined(__VAXC) || defined(VAXC)) || defined(__GNUC__) +#define fch$v_vcc_state fch$r_fch_union.fch$r_fill_1_chunks.fch$v_vcc_state +#define fch$v_associated fch$r_fch_union.fch$r_fill_1_chunks.fch$v_associated +#define fch$v_existence fch$r_fch_union.fch$r_fill_1_chunks.fch$v_existence +#define fch$v_wascontig fch$r_fch_union.fch$r_fill_1_bits.fch$v_wascontig +#define fch$v_nobackup fch$r_fch_union.fch$r_fill_1_bits.fch$v_nobackup +#define fch$v_writeback fch$r_fch_union.fch$r_fill_1_bits.fch$v_writeback +#define fch$v_readcheck fch$r_fch_union.fch$r_fill_1_bits.fch$v_readcheck +#define fch$v_writcheck fch$r_fch_union.fch$r_fill_1_bits.fch$v_writcheck +#define fch$v_contigb fch$r_fch_union.fch$r_fill_1_bits.fch$v_contigb +#define fch$v_locked fch$r_fch_union.fch$r_fill_1_bits.fch$v_locked +#define fch$v_contig fch$r_fch_union.fch$r_fill_1_bits.fch$v_contig +#define fch$v_badacl fch$r_fch_union.fch$r_fill_1_bits.fch$v_badacl +#define fch$v_spool fch$r_fch_union.fch$r_fill_1_bits.fch$v_spool +#define fch$v_directory fch$r_fch_union.fch$r_fill_1_bits.fch$v_directory +#define fch$v_badblock fch$r_fch_union.fch$r_fill_1_bits.fch$v_badblock +#define fch$v_markdel fch$r_fch_union.fch$r_fill_1_bits.fch$v_markdel +#define fch$v_nocharge fch$r_fch_union.fch$r_fill_1_bits.fch$v_nocharge +#define fch$v_erase fch$r_fch_union.fch$r_fill_1_bits.fch$v_erase +#define fch$v_shelved fch$r_fch_union.fch$r_fill_1_bits.fch$v_shelved +#define fch$v_scratch fch$r_fch_union.fch$r_fill_1_bits.fch$v_scratch +#define fch$v_nomove fch$r_fch_union.fch$r_fill_1_bits.fch$v_nomove +#define fch$v_noshelvable fch$r_fch_union.fch$r_fill_1_bits.fch$v_noshelvable +#endif /* !(__VAXC || VAXC) || __GNUC__ */ + +#define __FCHDEF_LOADED 1 /* prevent inclusion of DECC's fchdef.h */ + +/*--------------------------------------------------------------------------- + fjndef.h + ---------------------------------------------------------------------------*/ + +/* This header file was created by Joe Meadows, and is not copyrighted + in any way. No guarantee is made as to the accuracy of the contents + of this header file. This header file was last modified on Sep. 22th, + 1987. (Modified to include this statement) */ + +#define FJN$M_ONLY_RU 1 +#define FJN$M_RUJNL 2 +#define FJN$M_BIJNL 4 +#define FJN$M_AIJNL 8 +#define FJN$M_ATJNL 16 +#define FJN$M_NEVER_RU 32 +#define FJN$M_JOURNAL_FILE 64 +#define FJN$S_FJNDEF 1 +struct fjndef { + unsigned fjn$v_only_ru : 1; + unsigned fjn$v_rujnl : 1; + unsigned fjn$v_bijnl : 1; + unsigned fjn$v_aijnl : 1; + unsigned fjn$v_atjnl : 1; + unsigned fjn$v_never_ru : 1; + unsigned fjn$v_journal_file : 1; + unsigned fjn$v_fill_7 : 1; +} ; + +#define __FJNDEF_LOADED 1 /* prevent inclusion of DECC's fjndef.h */ + +/*---------------------------------------------------------------------------*/ + +#ifdef __cplusplus + } +#endif + +#if defined(__DECC) || defined(__DECCXX) +#pragma __member_alignment __restore +#endif /* __DECC || __DECCXX */ + +#if defined(__DECC) || defined(__DECCXX) +#pragma __standard +#endif /* __DECC || __DECCXX */ + +#endif /* !__vmsdefs_h */ |