123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- %
- % $Id$
- % This file is part of the FPC documentation.
- % Copyright (C) 1997, by Michael Van Canneyt
- %
- % The FPC documentation is free text; you can redistribute it and/or
- % modify it under the terms of the GNU Library General Public License as
- % published by the Free Software Foundation; either version 2 of the
- % License, or (at your option) any later version.
- %
- % The FPC Documentation 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
- % Library General Public License for more details.
- %
- % You should have received a copy of the GNU Library General Public
- % License along with the FPC documentation; see the file COPYING.LIB. If not,
- % write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- % Boston, MA 02111-1307, USA.
- %
- \chapter{The DXELOAD unit}
- \section{Introduction}
- The \file{dxeload} unit was implemented by Pierre M\"uller for \dos,
- it allows to load a DXE file (an object file with 1 entry point)
- into memory and return a pointer to the entry point.
- It exists only for \dos.
- \section{Constants, types and variables}
- \subsection{Constants}
- The following constant is the magic number, found in the header of a DXE
- file.
- \begin{verbatim}
- DXE_MAGIC = $31455844;
- \end{verbatim}
- \subsection{Types}
- The following record describes the header of a DXE file. It is used to
- determine the magic number of the DXE file and number of relocations that
- must be done when the object file i sloaded in memory.
- \begin{verbatim}
- dxe_header = record
- magic,
- symbol_offset,
- element_size,
- nrelocs : longint;
- end;
- \end{verbatim}
- \section{Functions and Procedures}
- \begin{functionl}{dxe\_load}{dxeload}
- \Declaration
- function dxe\_load(filename : string) : pointer;
- \Description
- \var{dxe\_load} loads the contents of the file \var{filename} into memory.
- It performs the necessary relocations in the object code, and returns then
- a pointer to the entry point of the code.
- \Errors
- If an error occurs during the load or relocations, \var{Nil} is returned.
- \end{functionl}
- For an example, see the \file{emu387} unit in the RTL.
|