/* ----------------------------------------------------------------------- * * * Copyright 1996-2017 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following * conditions are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ----------------------------------------------------------------------- */ /* * rdoff.h RDOFF Object File manipulation routines header file */ #ifndef RDOFF_H #define RDOFF_H … /* * RDOFF definitions. They are used by RDOFF utilities and by NASM's * 'outrdf2.c' output module. */ /* RDOFF format revision (currently used only when printing the version) */ #define RDOFF2_REVISION … /* RDOFF2 file signature */ #define RDOFF2_SIGNATURE … /* Maximum size of an import/export label (including trailing zero) */ #define EXIM_LABEL_MAX … /* Maximum size of library or module name (including trailing zero) */ #define MODLIB_NAME_MAX … /* Maximum number of segments that we can handle in one file */ #define RDF_MAXSEGS … /* Record types that may present the RDOFF header */ #define RDFREC_GENERIC … #define RDFREC_RELOC … #define RDFREC_IMPORT … #define RDFREC_GLOBAL … #define RDFREC_DLL … #define RDFREC_BSS … #define RDFREC_SEGRELOC … #define RDFREC_FARIMPORT … #define RDFREC_MODNAME … #define RDFREC_COMMON … /* * Generic record - contains the type and length field, plus a 128 byte * array 'data' */ struct GenericRec { … }; /* * Relocation record */ struct RelocRec { … }; /* * Extern/import record */ struct ImportRec { … }; /* * Public/export record */ struct ExportRec { … }; /* * DLL record */ struct DLLRec { … }; /* * BSS record */ struct BSSRec { … }; /* * Module name record */ struct ModRec { … }; /* * Common variable record */ struct CommonRec { … }; /* Flags for ExportRec */ #define SYM_DATA … #define SYM_FUNCTION … #define SYM_GLOBAL … #define SYM_IMPORT … #endif /* RDOFF_H */