\hypertarget{elfreloc_8c}{
\section{elfreloc.c File Reference}
\label{elfreloc_8c}\index{elfreloc.c@{elfreloc.c}}
}
Function definitions for ELF relocation utility. 

{\tt \#include \char`\"{}stdio.h\char`\"{}}\par
{\tt \#include \char`\"{}stdlib.h\char`\"{}}\par
{\tt \#include \char`\"{}string.h\char`\"{}}\par
{\tt \#include \char`\"{}unistd.h\char`\"{}}\par
{\tt \#include \char`\"{}fcntl.h\char`\"{}}\par
{\tt \#include \char`\"{}sys/types.h\char`\"{}}\par
{\tt \#include \char`\"{}sys/stat.h\char`\"{}}\par
{\tt \#include \char`\"{}ELF/elfreloc.h\char`\"{}}\par
{\tt \#include \char`\"{}ELF/elf.h\char`\"{}}\par
{\tt \#include \char`\"{}ELF/elf\-Ppc.h\char`\"{}}\par
{\tt \#include \char`\"{}ELF\_\-private.h\char`\"{}}\par


Include dependency graph for elfreloc.c:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=159pt]{elfreloc_8c__incl}
\end{center}
\end{figure}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{struct__elfreloc__config}{\_\-elfreloc\_\-config}
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef \hyperlink{struct__elfreloc__config}{\_\-elfreloc\_\-config} \hyperlink{elfreloc_8c_a0}{elfreloc\_\-config}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
static int \hyperlink{elfreloc_8c_a2}{elfreloc\_\-init} (\hyperlink{struct__elfreloc__config}{elfreloc\_\-config} $\ast$config, const char $\ast$in\-Name, const char $\ast$out\-Name)
\item 
int \hyperlink{elfreloc_8c_a3}{elfreloc} (const char $\ast$in\-Name, const char $\ast$out\-Name)
\item 
int \hyperlink{elfreloc_8c_a4}{main} (int argc, char $\ast$$\ast$argv)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
static \hyperlink{struct__elfreloc__config}{elfreloc\_\-config} \hyperlink{elfreloc_8c_a1}{erconfig}
\end{CompactItemize}


\subsection{Detailed Description}
Function definitions for ELF relocation utility. 

\begin{Desc}
\item[Author:]D.L. Wood\end{Desc}
These functions implement the ELF object file relocation utility. The user provides an input file name and an output file name. After removing the local relocation entries, the stripped ELF object is written to output. All of the relevant size and index information in the section headers is adjusted to reflect the removals.

\subsection{Typedef Documentation}
\hypertarget{elfreloc_8c_a0}{
\index{elfreloc.c@{elfreloc.c}!elfreloc_config@{elfreloc\_\-config}}
\index{elfreloc_config@{elfreloc\_\-config}!elfreloc.c@{elfreloc.c}}
\subsubsection[elfreloc\_\-config]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{struct__elfreloc__config}{elfreloc\_\-config}}}
\label{elfreloc_8c_a0}


The type for \hyperlink{struct__elfreloc__config}{\_\-elfreloc\_\-config}.

\subsection{Function Documentation}
\hypertarget{elfreloc_8c_a3}{
\index{elfreloc.c@{elfreloc.c}!elfreloc@{elfreloc}}
\index{elfreloc@{elfreloc}!elfreloc.c@{elfreloc.c}}
\subsubsection[elfreloc]{\setlength{\rightskip}{0pt plus 5cm}int elfreloc (const char $\ast$ {\em in\-Name}, const char $\ast$ {\em out\-Name})}}
\label{elfreloc_8c_a3}


The Vx\-Works application entry point.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em in\-Name}]The name of the input ELF file. \item[{\em out\-Name}]The name of the processed output ELF file.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em 0}]Success. \item[{\em -1}]Failure.\end{description}
\end{Desc}
\hypertarget{elfreloc_8c_a2}{
\index{elfreloc.c@{elfreloc.c}!elfreloc_init@{elfreloc\_\-init}}
\index{elfreloc_init@{elfreloc\_\-init}!elfreloc.c@{elfreloc.c}}
\subsubsection[elfreloc\_\-init]{\setlength{\rightskip}{0pt plus 5cm}static int elfreloc\_\-init (\hyperlink{struct__elfreloc__config}{elfreloc\_\-config} $\ast$ {\em config}, const char $\ast$ {\em in\-Name}, const char $\ast$ {\em out\-Name})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{elfreloc_8c_a2}


Initializes the application resources.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em config}]The application global config info. \item[{\em in\-Name}]The input file name. \item[{\em out\-Name}]The output file name.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em 0}]Success. \item[{\em -1}]Failure.\end{description}
\end{Desc}
\hypertarget{elfreloc_8c_a4}{
\index{elfreloc.c@{elfreloc.c}!main@{main}}
\index{main@{main}!elfreloc.c@{elfreloc.c}}
\subsubsection[main]{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em argc}, char $\ast$$\ast$ {\em argv})}}
\label{elfreloc_8c_a4}


The UNIX application entry point.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em argc}]The number of command line arguments. \item[{\em argv}]Pointer to the commane line arg strings.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em 0}]Success. \item[{\em -1}]Failure.\end{description}
\end{Desc}


\subsection{Variable Documentation}
\hypertarget{elfreloc_8c_a1}{
\index{elfreloc.c@{elfreloc.c}!erconfig@{erconfig}}
\index{erconfig@{erconfig}!elfreloc.c@{elfreloc.c}}
\subsubsection[erconfig]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{elfreloc_8c_a1}{erconfig}\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{elfreloc_8c_a1}


Application global configuration information.