Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'include/vms/lbr.h')
-rw-r--r--include/vms/lbr.h329
1 files changed, 0 insertions, 329 deletions
diff --git a/include/vms/lbr.h b/include/vms/lbr.h
deleted file mode 100644
index bdb436aa7..000000000
--- a/include/vms/lbr.h
+++ /dev/null
@@ -1,329 +0,0 @@
-/* Alpha VMS external format of Libraries.
-
- Copyright 2010 Free Software Foundation, Inc.
- Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
-
- This file is part of BFD, the Binary File Descriptor library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
- MA 02110-1301, USA. */
-
-#ifndef _VMS_LBR_H
-#define _VMS_LBR_H
-
-/* Libray HeaDer. */
-
-/* Magic numbers. Should match the major version. */
-
-#define LHD_SANEID_DCX 319232342
-#define LHD_SANEID3 233579905
-#define LHD_SANEID6 233579911
-
-/* Library type. */
-#define LBR__C_TYP_UNK 0 /* Unknown / unspecified. */
-#define LBR__C_TYP_OBJ 1 /* Vax object. */
-#define LBR__C_TYP_MLB 2 /* Macro. */
-#define LBR__C_TYP_HLP 3 /* Help. */
-#define LBR__C_TYP_TXT 4 /* Text. */
-#define LBR__C_TYP_SHSTB 5 /* Vax shareable image. */
-#define LBR__C_TYP_NCS 6 /* NCS. */
-#define LBR__C_TYP_EOBJ 7 /* Alpha object. */
-#define LBR__C_TYP_ESHSTB 8 /* Alpha shareable image. */
-#define LBR__C_TYP_IOBJ 9 /* IA-64 object. */
-#define LBR__C_TYP_ISHSTB 10 /* IA-64 shareable image. */
-
-struct vms_lhd
-{
- /* Type of the library. See above. */
- unsigned char type;
-
- /* Number of indexes. Generally 1, 2 for object libraries. */
- unsigned char nindex;
-
- unsigned char fill_1[2];
-
- /* Sanity Id. */
- unsigned char sanity[4];
-
- /* Version. */
- unsigned char majorid[2];
- unsigned char minorid[2];
-
- /* Tool name. */
- unsigned char lbrver[32];
-
- /* Create time. */
- unsigned char credat[8];
-
- /* Update time. */
- unsigned char updtim[8];
-
- /* Size of the MHD. */
- unsigned char mhdusz;
-
- unsigned char idxblkf[2]; /* Unused. */
- unsigned char fill_2;
- unsigned char closerror[2];
-
- unsigned char spareword[2];
-
- /* First free block, and number of free blocks. */
- unsigned char freevbn[4];
- unsigned char freeblk[4];
-
- unsigned char nextrfa[6];
- unsigned char nextvbn[4];
-
- /* Free pre-allocated index block. */
- unsigned char freidxblk[4];
- unsigned char freeidx[4];
-
- /* Highest pre-allocated index block and in use. */
- unsigned char hipreal[4];
- unsigned char hiprusd[4];
-
- /* Number of index blocks in use. */
- unsigned char idxblks[4];
-
- /* Number of index entries. */
- unsigned char idxcnt[4];
-
- /* Number of modules entries. */
- unsigned char modcnt[4];
-
- unsigned char fill_3[2];
-
- /* Number of module headers. */
- unsigned char modhdrs[4];
-
- /* Overhead index pointers. */
- unsigned char idxovh[4];
-
- /* Update history records. */
- unsigned char maxluhrec[2];
- unsigned char numluhrec[2];
- unsigned char begluhrfa[6];
- unsigned char endluhrfa[6];
-
- /* DCX map. */
- unsigned char dcxmapvbn[4];
-
- unsigned char fill_4[4 * 13];
-};
-
-/* Known major ids. */
-#define LBR_MAJORID 3 /* Alpha libraries. */
-#define LBR_ELFMAJORID 6 /* Elf libraries (new index, new data). */
-
-/* Offset of the first IDD. */
-#define LHD_IDXDESC 196
-
-/* InDex Description. */
-struct vms_idd
-{
- unsigned char flags[2];
-
- /* Max length of the key. */
- unsigned char keylen[2];
-
- /* First index block. */
- unsigned char vbn[4];
-};
-
-/* IDD flags. */
-#define IDD__FLAGS_ASCII 1
-#define IDD__FLAGS_LOCKED 2
-#define IDD__FLAGS_VARLENIDX 4
-#define IDD__FLAGS_NOCASECMP 8
-#define IDD__FLAGS_NOCASENTR 16
-#define IDD__FLAGS_UPCASNTRY 32
-
-#define IDD_LENGTH 8
-
-/* Index block. */
-#define INDEXDEF__LENGTH 512
-#define INDEXDEF__BLKSIZ 500
-
-struct vms_indexdef
-{
- /* Number of bytes used. */
- unsigned char used[2];
-
- /* VBN of the parent. */
- unsigned char parent[4];
-
- unsigned char fill_1[6];
-
- /* The key field contains vms_idx/vms_elfidx structures, which are
- simply a key (= a string) and a rfa. */
- unsigned char keys[INDEXDEF__BLKSIZ];
-};
-
-/* An offset in a file. */
-
-struct vms_rfa
-{
- /* Logical block number, 1 based.
- 0 means that the field is absent. Block size is 512. */
- unsigned char vbn[4];
-
- /* Offset within the block. */
- unsigned char offset[2];
-};
-
-/* Index keys. For version 3. */
-
-struct vms_idx
-{
- /* Offset from the start of the vbn, so minimum should be
- DATA__DATA (ie 6). */
- struct vms_rfa rfa;
-
- unsigned char keylen;
- /* The length of this field is in fact keylen. */
- unsigned char keyname[256];
-};
-
-/* Index keys, for version 4 and later. */
-
-struct vms_elfidx
-{
- struct vms_rfa rfa;
-
- unsigned char keylen[2];
- unsigned char flags;
- unsigned char keyname[256];
-};
-
-/* Flags of elfidx. */
-
-#define ELFIDX__WEAK 0x01 /* Weak symbol. */
-#define ELFIDX__GROUP 0x02 /* Group symbol. */
-#define ELFIDX__LISTRFA 0x04 /* RFA field points to an LHS. */
-#define ELFIDX__SYMESC 0x08 /* Long symbol. */
-
-#define RFADEF__C_INDEX 0xffff
-
-/* List head structure. That's what is pointed by rfa when LISTRFA flag
- is set in elfidx. */
-
-struct vms_lhs
-{
- struct vms_rfa ng_g_rfa; /* Non-group global. */
- struct vms_rfa ng_wk_rfa; /* Non-group weak. */
- struct vms_rfa g_g_rfa; /* Group global. */
- struct vms_rfa g_wk_rfa; /* Group weak. */
- unsigned char flags;
-};
-
-/* List node structure. Fields of LHS point to this structure. */
-
-struct vms_lns
-{
- /* Next node in the list. */
- struct vms_rfa nxtrfa;
-
- /* Module associated with the key. */
- struct vms_rfa modrfa;
-};
-
-struct vms_datadef
-{
- /* Number of records in this block. */
- unsigned char recs;
- unsigned char fill_1;
-
- /* Next vbn. */
- unsigned char link[4];
-
- /* Data. The first word is the record length, followed by record
- data and a possible pad byte so that record length is always aligned. */
- unsigned char data[506];
-};
-#define DATA__LENGTH 512
-#define DATA__DATA 6
-
-/* Key name block. This is used for keys longer than 128 bytes. */
-
-struct vms_kbn
-{
- /* Length of the key chunk. */
- unsigned char keylen[2];
-
- /* RFA of the next chunk. */
- struct vms_rfa rfa;
-
- /* Followed by the key chunk. */
-};
-
-/* Module header. */
-struct vms_mhd
-{
- /* Fixed part. */
- unsigned char lbrflag;
- unsigned char id;
- unsigned char fill_1[2];
- unsigned char refcnt[4];
- unsigned char datim[8];
-
- unsigned char objstat;
- /* Ident or GSMATCH. */
- unsigned char objidlng;
- unsigned char objid[31];
-
- unsigned char pad1[3];
- unsigned char otherefcnt[4];
- unsigned char modsize[4];
- unsigned char pad2[4];
-};
-
-#define MHD__C_MHDID 0xad /* Value for id. */
-#define MHD__C_MHDLEN 16 /* Fixed part length. */
-#define MHD__C_USRDAT 16
-
-/* Flags for objstat. */
-#define MHD__M_SELSRC 0x1 /* Selective search. */
-#define MHD__M_OBJTIR 0x2
-#define MHD__M_WKSYM 0x4
-
-struct vms_luh
-{
- unsigned char nxtluhblk[4];
- unsigned char spare[2];
- unsigned char data[506];
-};
-
-struct vms_luhdef
-{
- unsigned char rechdr[2];
- unsigned char reclen[2];
-};
-#define LUH__RECHDRLEN 4
-#define LUH__RECHDRMRK 0xabba
-#define LUH__DATAFLDLEN 506
-
-/* Entry in the history. */
-
-struct vms_leh
-{
- unsigned char date[8];
- unsigned char nbr_units[2];
- unsigned char action[2]; /* 1: delete, 2: insert, 3: replaced. */
- unsigned char idlen;
- /* username
- modules... */
-};
-
-#endif /* _VMS_LBR_H */