\hypertarget{ksyms_8c}{}\doxysection{dev/ksyms/ksyms.c File Reference}
\label{ksyms_8c}\index{dev/ksyms/ksyms.c@{dev/ksyms/ksyms.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/conf.\+h$>$}\newline
{\ttfamily \#include $<$sys/elf.\+h$>$}\newline
{\ttfamily \#include $<$sys/linker.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mman.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/resourcevar.\+h$>$}\newline
{\ttfamily \#include $<$sys/rwlock.\+h$>$}\newline
{\ttfamily \#include $<$sys/stat.\+h$>$}\newline
{\ttfamily \#include $<$sys/sx.\+h$>$}\newline
{\ttfamily \#include $<$sys/uio.\+h$>$}\newline
{\ttfamily \#include $<$machine/elf.\+h$>$}\newline
{\ttfamily \#include $<$vm/pmap.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm\+\_\+extern.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm\+\_\+object.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm\+\_\+page.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm\+\_\+pager.\+h$>$}\newline
{\ttfamily \#include \char`\"{}linker\+\_\+if.\+h\char`\"{}}\newline
Include dependency graph for ksyms.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/da5/ksyms_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}}
\item 
struct \mbox{\hyperlink{structtsizes}{tsizes}}
\item 
struct \mbox{\hyperlink{structtoffsets}{toffsets}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ksyms_8c_a488960ebebf650a6ea2120c4dcc03721}{SHDR\+\_\+\+NULL}}~0
\item 
\#define \mbox{\hyperlink{ksyms_8c_a44436099ccc43197ebb672795354730a}{SHDR\+\_\+\+SYMTAB}}~1
\item 
\#define \mbox{\hyperlink{ksyms_8c_a5d1652d049d3c8602576650fbdb3e46d}{SHDR\+\_\+\+STRTAB}}~2
\item 
\#define \mbox{\hyperlink{ksyms_8c_a3625573cb3ea84238c6555f01bba257a}{SHDR\+\_\+\+SHSTRTAB}}~3
\item 
\#define \mbox{\hyperlink{ksyms_8c_a92d0995ea16f12a7ff23bfd042133168}{SHDR\+\_\+\+NUM}}~4
\item 
\#define \mbox{\hyperlink{ksyms_8c_a743b5ba54404b915b087c071646efb87}{STR\+\_\+\+SYMTAB}}~\char`\"{}.symtab\char`\"{}
\item 
\#define \mbox{\hyperlink{ksyms_8c_aa227bcd708d88dbff34fb9a9af7cfa8f}{STR\+\_\+\+STRTAB}}~\char`\"{}.strtab\char`\"{}
\item 
\#define \mbox{\hyperlink{ksyms_8c_a7022eab35141815969148eb4b31fda96}{STR\+\_\+\+SHSTRTAB}}~\char`\"{}.shstrtab\char`\"{}
\item 
\#define \mbox{\hyperlink{ksyms_8c_a311294fc75aea893714df862b9d15a01}{KSYMS\+\_\+\+DNAME}}~\char`\"{}ksyms\char`\"{}
\item 
\#define \mbox{\hyperlink{ksyms_8c_a3df651ccc776d2d05b433017efa6bc8d}{SYMBLKSZ}}~(256 $\ast$ sizeof(Elf\+\_\+\+Sym))
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{ksyms_8c_a68942371126d0a523177fd33ab9ec949}{LIST\+\_\+\+HEAD}} (\mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}})
\item 
static \mbox{\hyperlink{ksyms_8c_a6430c5df0a31ff452d98a2879cc8a6d0}{MALLOC\+\_\+\+DEFINE}} (M\+\_\+\+KSYMS, \char`\"{}KSYMS\char`\"{}, \char`\"{}Kernel Symbol Table\char`\"{})
\item 
static int \mbox{\hyperlink{ksyms_8c_a50161b9935d884911a9fa6189168a0ea}{ksyms\+\_\+size\+\_\+permod}} (linker\+\_\+file\+\_\+t lf, void $\ast$arg)
\item 
static void \mbox{\hyperlink{ksyms_8c_a48f09a20a9b9b0284c95b8301f4ed69a}{ksyms\+\_\+size\+\_\+calc}} (struct \mbox{\hyperlink{structtsizes}{tsizes}} $\ast$ts)
\item 
static int \mbox{\hyperlink{ksyms_8c_a6c4efe230730b4d3a9c21feb0933f04a}{ksyms\+\_\+emit}} (struct \mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}} $\ast$sc, void $\ast$buf, off\+\_\+t off, size\+\_\+t sz)
\item 
static int \mbox{\hyperlink{ksyms_8c_a02789ca4feeacaee79b97d276ed6a0a5}{ksyms\+\_\+add}} (linker\+\_\+file\+\_\+t lf, void $\ast$arg)
\item 
static int \mbox{\hyperlink{ksyms_8c_ad86d47d7f25b57de815caf35061e1f6e}{ksyms\+\_\+snapshot}} (struct \mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}} $\ast$sc, struct \mbox{\hyperlink{structtsizes}{tsizes}} $\ast$ts)
\item 
static void \mbox{\hyperlink{ksyms_8c_abe6ff1e9bbd3cca5e9001c56a0a6cb9f}{ksyms\+\_\+cdevpriv\+\_\+dtr}} (void $\ast$data)
\item 
static int \mbox{\hyperlink{ksyms_8c_a6d4e8b2da3fd9a745ffd55e75f2c8be0}{ksyms\+\_\+open}} (struct cdev $\ast$dev, int flags, int fmt \+\_\+\+\_\+unused, struct thread $\ast$td)
\item 
static int \mbox{\hyperlink{ksyms_8c_abd9aeb062355da97f62860990c76047c}{ksyms\+\_\+read}} (struct cdev $\ast$dev, struct uio $\ast$uio, int flags \+\_\+\+\_\+unused)
\item 
static int \mbox{\hyperlink{ksyms_8c_ad96faa3e0ae34274d32e8e74e9788cc2}{ksyms\+\_\+mmap\+\_\+single}} (struct cdev $\ast$dev, vm\+\_\+ooffset\+\_\+t $\ast$offset, vm\+\_\+size\+\_\+t size, vm\+\_\+object\+\_\+t $\ast$objp, int nprot)
\item 
static int \mbox{\hyperlink{ksyms_8c_a057025e18bee4bb6c1ba1403f3d5e9c7}{ksyms\+\_\+modevent}} (module\+\_\+t mod \+\_\+\+\_\+unused, int type, void $\ast$data \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{ksyms_8c_ae923783fe2b11e35d430b4370bb54ac2}{DEV\+\_\+\+MODULE}} (ksyms, \mbox{\hyperlink{ksyms_8c_a057025e18bee4bb6c1ba1403f3d5e9c7}{ksyms\+\_\+modevent}}, NULL)
\item 
\mbox{\hyperlink{ksyms_8c_ab9bd7328ea1b156d10f334a896613e3b}{MODULE\+\_\+\+VERSION}} (ksyms, 1)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static d\+\_\+open\+\_\+t \mbox{\hyperlink{ksyms_8c_a38df1d09d72ea2990aa5f96f4c13becb}{ksyms\+\_\+open}}
\item 
static d\+\_\+read\+\_\+t \mbox{\hyperlink{ksyms_8c_a352c85a1fb48d45def5b583ec252b1a3}{ksyms\+\_\+read}}
\item 
static d\+\_\+mmap\+\_\+single\+\_\+t \mbox{\hyperlink{ksyms_8c_a2407cc956af431a8c3140b7218b87ea8}{ksyms\+\_\+mmap\+\_\+single}}
\item 
static struct cdevsw \mbox{\hyperlink{ksyms_8c_a9f7c9d53caa2b3f4cad8f8d44cc64326}{ksyms\+\_\+cdevsw}}
\item 
static struct sx \mbox{\hyperlink{ksyms_8c_adb4fe232018b800375fa1844a19c08f4}{ksyms\+\_\+mtx}}
\item 
static struct cdev $\ast$ \mbox{\hyperlink{ksyms_8c_a5c6c59b372356c449f732aad55f9115a}{ksyms\+\_\+dev}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ksyms_8c_a311294fc75aea893714df862b9d15a01}\label{ksyms_8c_a311294fc75aea893714df862b9d15a01}} 
\index{ksyms.c@{ksyms.c}!KSYMS\_DNAME@{KSYMS\_DNAME}}
\index{KSYMS\_DNAME@{KSYMS\_DNAME}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{KSYMS\_DNAME}{KSYMS\_DNAME}}
{\footnotesize\ttfamily \#define KSYMS\+\_\+\+DNAME~\char`\"{}ksyms\char`\"{}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00071}{71}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a488960ebebf650a6ea2120c4dcc03721}\label{ksyms_8c_a488960ebebf650a6ea2120c4dcc03721}} 
\index{ksyms.c@{ksyms.c}!SHDR\_NULL@{SHDR\_NULL}}
\index{SHDR\_NULL@{SHDR\_NULL}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{SHDR\_NULL}{SHDR\_NULL}}
{\footnotesize\ttfamily \#define SHDR\+\_\+\+NULL~0}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00060}{60}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a92d0995ea16f12a7ff23bfd042133168}\label{ksyms_8c_a92d0995ea16f12a7ff23bfd042133168}} 
\index{ksyms.c@{ksyms.c}!SHDR\_NUM@{SHDR\_NUM}}
\index{SHDR\_NUM@{SHDR\_NUM}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{SHDR\_NUM}{SHDR\_NUM}}
{\footnotesize\ttfamily \#define SHDR\+\_\+\+NUM~4}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00065}{65}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a3625573cb3ea84238c6555f01bba257a}\label{ksyms_8c_a3625573cb3ea84238c6555f01bba257a}} 
\index{ksyms.c@{ksyms.c}!SHDR\_SHSTRTAB@{SHDR\_SHSTRTAB}}
\index{SHDR\_SHSTRTAB@{SHDR\_SHSTRTAB}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{SHDR\_SHSTRTAB}{SHDR\_SHSTRTAB}}
{\footnotesize\ttfamily \#define SHDR\+\_\+\+SHSTRTAB~3}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00063}{63}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a5d1652d049d3c8602576650fbdb3e46d}\label{ksyms_8c_a5d1652d049d3c8602576650fbdb3e46d}} 
\index{ksyms.c@{ksyms.c}!SHDR\_STRTAB@{SHDR\_STRTAB}}
\index{SHDR\_STRTAB@{SHDR\_STRTAB}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{SHDR\_STRTAB}{SHDR\_STRTAB}}
{\footnotesize\ttfamily \#define SHDR\+\_\+\+STRTAB~2}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00062}{62}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a44436099ccc43197ebb672795354730a}\label{ksyms_8c_a44436099ccc43197ebb672795354730a}} 
\index{ksyms.c@{ksyms.c}!SHDR\_SYMTAB@{SHDR\_SYMTAB}}
\index{SHDR\_SYMTAB@{SHDR\_SYMTAB}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{SHDR\_SYMTAB}{SHDR\_SYMTAB}}
{\footnotesize\ttfamily \#define SHDR\+\_\+\+SYMTAB~1}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00061}{61}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a7022eab35141815969148eb4b31fda96}\label{ksyms_8c_a7022eab35141815969148eb4b31fda96}} 
\index{ksyms.c@{ksyms.c}!STR\_SHSTRTAB@{STR\_SHSTRTAB}}
\index{STR\_SHSTRTAB@{STR\_SHSTRTAB}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{STR\_SHSTRTAB}{STR\_SHSTRTAB}}
{\footnotesize\ttfamily \#define STR\+\_\+\+SHSTRTAB~\char`\"{}.shstrtab\char`\"{}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00069}{69}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_aa227bcd708d88dbff34fb9a9af7cfa8f}\label{ksyms_8c_aa227bcd708d88dbff34fb9a9af7cfa8f}} 
\index{ksyms.c@{ksyms.c}!STR\_STRTAB@{STR\_STRTAB}}
\index{STR\_STRTAB@{STR\_STRTAB}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{STR\_STRTAB}{STR\_STRTAB}}
{\footnotesize\ttfamily \#define STR\+\_\+\+STRTAB~\char`\"{}.strtab\char`\"{}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00068}{68}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a743b5ba54404b915b087c071646efb87}\label{ksyms_8c_a743b5ba54404b915b087c071646efb87}} 
\index{ksyms.c@{ksyms.c}!STR\_SYMTAB@{STR\_SYMTAB}}
\index{STR\_SYMTAB@{STR\_SYMTAB}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{STR\_SYMTAB}{STR\_SYMTAB}}
{\footnotesize\ttfamily \#define STR\+\_\+\+SYMTAB~\char`\"{}.symtab\char`\"{}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00067}{67}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a3df651ccc776d2d05b433017efa6bc8d}\label{ksyms_8c_a3df651ccc776d2d05b433017efa6bc8d}} 
\index{ksyms.c@{ksyms.c}!SYMBLKSZ@{SYMBLKSZ}}
\index{SYMBLKSZ@{SYMBLKSZ}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{SYMBLKSZ}{SYMBLKSZ}}
{\footnotesize\ttfamily \#define SYMBLKSZ~(256 $\ast$ sizeof(Elf\+\_\+\+Sym))}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00179}{179}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ksyms_8c_ae923783fe2b11e35d430b4370bb54ac2}\label{ksyms_8c_ae923783fe2b11e35d430b4370bb54ac2}} 
\index{ksyms.c@{ksyms.c}!DEV\_MODULE@{DEV\_MODULE}}
\index{DEV\_MODULE@{DEV\_MODULE}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{DEV\_MODULE()}{DEV\_MODULE()}}
{\footnotesize\ttfamily DEV\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{ksyms}]{,  }\item[{\mbox{\hyperlink{ksyms_8c_a057025e18bee4bb6c1ba1403f3d5e9c7}{ksyms\+\_\+modevent}}}]{,  }\item[{NULL}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ksyms_8c_a02789ca4feeacaee79b97d276ed6a0a5}\label{ksyms_8c_a02789ca4feeacaee79b97d276ed6a0a5}} 
\index{ksyms.c@{ksyms.c}!ksyms\_add@{ksyms\_add}}
\index{ksyms\_add@{ksyms\_add}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_add()}{ksyms\_add()}}
{\footnotesize\ttfamily static int ksyms\+\_\+add (\begin{DoxyParamCaption}\item[{linker\+\_\+file\+\_\+t}]{lf,  }\item[{void $\ast$}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00186}{186}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00161}{ksyms\+\_\+emit()}}, \mbox{\hyperlink{ksyms_8c_source_l00179}{SYMBLKSZ}}, \mbox{\hyperlink{ksyms_8c_source_l00120}{toffsets\+::to\+\_\+resid}}, \mbox{\hyperlink{ksyms_8c_source_l00116}{toffsets\+::to\+\_\+sc}}, \mbox{\hyperlink{ksyms_8c_source_l00119}{toffsets\+::to\+\_\+stridx}}, \mbox{\hyperlink{ksyms_8c_source_l00118}{toffsets\+::to\+\_\+stroff}}, and \mbox{\hyperlink{ksyms_8c_source_l00117}{toffsets\+::to\+\_\+symoff}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00269}{ksyms\+\_\+snapshot()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=265pt]{df/d18/ksyms_8c_a02789ca4feeacaee79b97d276ed6a0a5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d18/ksyms_8c_a02789ca4feeacaee79b97d276ed6a0a5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_abe6ff1e9bbd3cca5e9001c56a0a6cb9f}\label{ksyms_8c_abe6ff1e9bbd3cca5e9001c56a0a6cb9f}} 
\index{ksyms.c@{ksyms.c}!ksyms\_cdevpriv\_dtr@{ksyms\_cdevpriv\_dtr}}
\index{ksyms\_cdevpriv\_dtr@{ksyms\_cdevpriv\_dtr}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_cdevpriv\_dtr()}{ksyms\_cdevpriv\_dtr()}}
{\footnotesize\ttfamily static void ksyms\+\_\+cdevpriv\+\_\+dtr (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00389}{389}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00095}{ksyms\+\_\+mtx}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00406}{ksyms\+\_\+open()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=309pt]{df/d18/ksyms_8c_abe6ff1e9bbd3cca5e9001c56a0a6cb9f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_a6c4efe230730b4d3a9c21feb0933f04a}\label{ksyms_8c_a6c4efe230730b4d3a9c21feb0933f04a}} 
\index{ksyms.c@{ksyms.c}!ksyms\_emit@{ksyms\_emit}}
\index{ksyms\_emit@{ksyms\_emit}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_emit()}{ksyms\_emit()}}
{\footnotesize\ttfamily static int ksyms\+\_\+emit (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}} $\ast$}]{sc,  }\item[{void $\ast$}]{buf,  }\item[{off\+\_\+t}]{off,  }\item[{size\+\_\+t}]{sz }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00161}{161}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00186}{ksyms\+\_\+add()}}, and \mbox{\hyperlink{ksyms_8c_source_l00269}{ksyms\+\_\+snapshot()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d18/ksyms_8c_a6c4efe230730b4d3a9c21feb0933f04a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_ad96faa3e0ae34274d32e8e74e9788cc2}\label{ksyms_8c_ad96faa3e0ae34274d32e8e74e9788cc2}} 
\index{ksyms.c@{ksyms.c}!ksyms\_mmap\_single@{ksyms\_mmap\_single}}
\index{ksyms\_mmap\_single@{ksyms\_mmap\_single}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_mmap\_single()}{ksyms\_mmap\_single()}}
{\footnotesize\ttfamily static int ksyms\+\_\+mmap\+\_\+single (\begin{DoxyParamCaption}\item[{struct cdev $\ast$}]{dev,  }\item[{vm\+\_\+ooffset\+\_\+t $\ast$}]{offset,  }\item[{vm\+\_\+size\+\_\+t}]{size,  }\item[{vm\+\_\+object\+\_\+t $\ast$}]{objp,  }\item[{int}]{nprot }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00476}{476}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a057025e18bee4bb6c1ba1403f3d5e9c7}\label{ksyms_8c_a057025e18bee4bb6c1ba1403f3d5e9c7}} 
\index{ksyms.c@{ksyms.c}!ksyms\_modevent@{ksyms\_modevent}}
\index{ksyms\_modevent@{ksyms\_modevent}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_modevent()}{ksyms\_modevent()}}
{\footnotesize\ttfamily static int ksyms\+\_\+modevent (\begin{DoxyParamCaption}\item[{module\+\_\+t mod}]{\+\_\+\+\_\+unused,  }\item[{int}]{type,  }\item[{void $\ast$data}]{\+\_\+\+\_\+unused }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00499}{499}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00077}{ksyms\+\_\+cdevsw}}, \mbox{\hyperlink{ksyms_8c_source_l00096}{ksyms\+\_\+dev}}, \mbox{\hyperlink{ksyms_8c_source_l00071}{KSYMS\+\_\+\+DNAME}}, and \mbox{\hyperlink{ksyms_8c_source_l00095}{ksyms\+\_\+mtx}}.

\mbox{\Hypertarget{ksyms_8c_a6d4e8b2da3fd9a745ffd55e75f2c8be0}\label{ksyms_8c_a6d4e8b2da3fd9a745ffd55e75f2c8be0}} 
\index{ksyms.c@{ksyms.c}!ksyms\_open@{ksyms\_open}}
\index{ksyms\_open@{ksyms\_open}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_open()}{ksyms\_open()}}
{\footnotesize\ttfamily static int ksyms\+\_\+open (\begin{DoxyParamCaption}\item[{struct cdev $\ast$}]{dev,  }\item[{int}]{flags,  }\item[{int fmt}]{\+\_\+\+\_\+unused,  }\item[{struct thread $\ast$}]{td }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00406}{406}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00389}{ksyms\+\_\+cdevpriv\+\_\+dtr()}}, \mbox{\hyperlink{ksyms_8c_source_l00095}{ksyms\+\_\+mtx}}, \mbox{\hyperlink{ksyms_8c_source_l00151}{ksyms\+\_\+size\+\_\+calc()}}, and \mbox{\hyperlink{ksyms_8c_source_l00269}{ksyms\+\_\+snapshot()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d18/ksyms_8c_a6d4e8b2da3fd9a745ffd55e75f2c8be0_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_abd9aeb062355da97f62860990c76047c}\label{ksyms_8c_abd9aeb062355da97f62860990c76047c}} 
\index{ksyms.c@{ksyms.c}!ksyms\_read@{ksyms\_read}}
\index{ksyms\_read@{ksyms\_read}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_read()}{ksyms\_read()}}
{\footnotesize\ttfamily static int ksyms\+\_\+read (\begin{DoxyParamCaption}\item[{struct cdev $\ast$}]{dev,  }\item[{struct uio $\ast$}]{uio,  }\item[{int flags}]{\+\_\+\+\_\+unused }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00464}{464}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a48f09a20a9b9b0284c95b8301f4ed69a}\label{ksyms_8c_a48f09a20a9b9b0284c95b8301f4ed69a}} 
\index{ksyms.c@{ksyms.c}!ksyms\_size\_calc@{ksyms\_size\_calc}}
\index{ksyms\_size\_calc@{ksyms\_size\_calc}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_size\_calc()}{ksyms\_size\_calc()}}
{\footnotesize\ttfamily static void ksyms\+\_\+size\+\_\+calc (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structtsizes}{tsizes}} $\ast$}]{ts }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00151}{151}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00130}{ksyms\+\_\+size\+\_\+permod()}}, \mbox{\hyperlink{ksyms_8c_source_l00112}{tsizes\+::ts\+\_\+strsz}}, and \mbox{\hyperlink{ksyms_8c_source_l00111}{tsizes\+::ts\+\_\+symsz}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00406}{ksyms\+\_\+open()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=330pt]{df/d18/ksyms_8c_a48f09a20a9b9b0284c95b8301f4ed69a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=292pt]{df/d18/ksyms_8c_a48f09a20a9b9b0284c95b8301f4ed69a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_a50161b9935d884911a9fa6189168a0ea}\label{ksyms_8c_a50161b9935d884911a9fa6189168a0ea}} 
\index{ksyms.c@{ksyms.c}!ksyms\_size\_permod@{ksyms\_size\_permod}}
\index{ksyms\_size\_permod@{ksyms\_size\_permod}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_size\_permod()}{ksyms\_size\_permod()}}
{\footnotesize\ttfamily static int ksyms\+\_\+size\+\_\+permod (\begin{DoxyParamCaption}\item[{linker\+\_\+file\+\_\+t}]{lf,  }\item[{void $\ast$}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00130}{130}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00112}{tsizes\+::ts\+\_\+strsz}}, and \mbox{\hyperlink{ksyms_8c_source_l00111}{tsizes\+::ts\+\_\+symsz}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00151}{ksyms\+\_\+size\+\_\+calc()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d18/ksyms_8c_a50161b9935d884911a9fa6189168a0ea_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_ad86d47d7f25b57de815caf35061e1f6e}\label{ksyms_8c_ad86d47d7f25b57de815caf35061e1f6e}} 
\index{ksyms.c@{ksyms.c}!ksyms\_snapshot@{ksyms\_snapshot}}
\index{ksyms\_snapshot@{ksyms\_snapshot}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_snapshot()}{ksyms\_snapshot()}}
{\footnotesize\ttfamily static int ksyms\+\_\+snapshot (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}} $\ast$}]{sc,  }\item[{struct \mbox{\hyperlink{structtsizes}{tsizes}} $\ast$}]{ts }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00269}{269}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



References \mbox{\hyperlink{ksyms_8c_source_l00186}{ksyms\+\_\+add()}}, \mbox{\hyperlink{ksyms_8c_source_l00161}{ksyms\+\_\+emit()}}, \mbox{\hyperlink{ksyms_8c_source_l00065}{SHDR\+\_\+\+NUM}}, \mbox{\hyperlink{ksyms_8c_source_l00063}{SHDR\+\_\+\+SHSTRTAB}}, \mbox{\hyperlink{ksyms_8c_source_l00062}{SHDR\+\_\+\+STRTAB}}, \mbox{\hyperlink{ksyms_8c_source_l00061}{SHDR\+\_\+\+SYMTAB}}, \mbox{\hyperlink{ksyms_8c_source_l00068}{STR\+\_\+\+STRTAB}}, \mbox{\hyperlink{ksyms_8c_source_l00067}{STR\+\_\+\+SYMTAB}}, \mbox{\hyperlink{ksyms_8c_source_l00120}{toffsets\+::to\+\_\+resid}}, \mbox{\hyperlink{ksyms_8c_source_l00116}{toffsets\+::to\+\_\+sc}}, \mbox{\hyperlink{ksyms_8c_source_l00119}{toffsets\+::to\+\_\+stridx}}, \mbox{\hyperlink{ksyms_8c_source_l00118}{toffsets\+::to\+\_\+stroff}}, \mbox{\hyperlink{ksyms_8c_source_l00117}{toffsets\+::to\+\_\+symoff}}, \mbox{\hyperlink{ksyms_8c_source_l00112}{tsizes\+::ts\+\_\+strsz}}, and \mbox{\hyperlink{ksyms_8c_source_l00111}{tsizes\+::ts\+\_\+symsz}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00406}{ksyms\+\_\+open()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d18/ksyms_8c_ad86d47d7f25b57de815caf35061e1f6e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=292pt]{df/d18/ksyms_8c_ad86d47d7f25b57de815caf35061e1f6e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ksyms_8c_a68942371126d0a523177fd33ab9ec949}\label{ksyms_8c_a68942371126d0a523177fd33ab9ec949}} 
\index{ksyms.c@{ksyms.c}!LIST\_HEAD@{LIST\_HEAD}}
\index{LIST\_HEAD@{LIST\_HEAD}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{LIST\_HEAD()}{LIST\_HEAD()}}
{\footnotesize\ttfamily static LIST\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structksyms__softc}{ksyms\+\_\+softc}}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00097}{97}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a6430c5df0a31ff452d98a2879cc8a6d0}\label{ksyms_8c_a6430c5df0a31ff452d98a2879cc8a6d0}} 
\index{ksyms.c@{ksyms.c}!MALLOC\_DEFINE@{MALLOC\_DEFINE}}
\index{MALLOC\_DEFINE@{MALLOC\_DEFINE}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{MALLOC\_DEFINE()}{MALLOC\_DEFINE()}}
{\footnotesize\ttfamily static MALLOC\+\_\+\+DEFINE (\begin{DoxyParamCaption}\item[{M\+\_\+\+KSYMS}]{,  }\item[{\char`\"{}KSYMS\char`\"{}}]{,  }\item[{\char`\"{}Kernel Symbol Table\char`\"{}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{ksyms_8c_ab9bd7328ea1b156d10f334a896613e3b}\label{ksyms_8c_ab9bd7328ea1b156d10f334a896613e3b}} 
\index{ksyms.c@{ksyms.c}!MODULE\_VERSION@{MODULE\_VERSION}}
\index{MODULE\_VERSION@{MODULE\_VERSION}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_VERSION()}{MODULE\_VERSION()}}
{\footnotesize\ttfamily MODULE\+\_\+\+VERSION (\begin{DoxyParamCaption}\item[{ksyms}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ksyms_8c_a9f7c9d53caa2b3f4cad8f8d44cc64326}\label{ksyms_8c_a9f7c9d53caa2b3f4cad8f8d44cc64326}} 
\index{ksyms.c@{ksyms.c}!ksyms\_cdevsw@{ksyms\_cdevsw}}
\index{ksyms\_cdevsw@{ksyms\_cdevsw}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_cdevsw}{ksyms\_cdevsw}}
{\footnotesize\ttfamily struct cdevsw ksyms\+\_\+cdevsw\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .d\_version =    D\_VERSION,}
\DoxyCodeLine{        .d\_flags =      0,}
\DoxyCodeLine{        .d\_open =       \mbox{\hyperlink{ksyms_8c_a38df1d09d72ea2990aa5f96f4c13becb}{ksyms\_open}},}
\DoxyCodeLine{        .d\_read =       \mbox{\hyperlink{ksyms_8c_a352c85a1fb48d45def5b583ec252b1a3}{ksyms\_read}},}
\DoxyCodeLine{        .d\_mmap\_single = \mbox{\hyperlink{ksyms_8c_a2407cc956af431a8c3140b7218b87ea8}{ksyms\_mmap\_single}},}
\DoxyCodeLine{        .d\_name =       \mbox{\hyperlink{ksyms_8c_a311294fc75aea893714df862b9d15a01}{KSYMS\_DNAME}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ksyms_8c_source_l00077}{77}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00499}{ksyms\+\_\+modevent()}}.

\mbox{\Hypertarget{ksyms_8c_a5c6c59b372356c449f732aad55f9115a}\label{ksyms_8c_a5c6c59b372356c449f732aad55f9115a}} 
\index{ksyms.c@{ksyms.c}!ksyms\_dev@{ksyms\_dev}}
\index{ksyms\_dev@{ksyms\_dev}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_dev}{ksyms\_dev}}
{\footnotesize\ttfamily struct cdev$\ast$ ksyms\+\_\+dev\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00096}{96}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00499}{ksyms\+\_\+modevent()}}.

\mbox{\Hypertarget{ksyms_8c_a2407cc956af431a8c3140b7218b87ea8}\label{ksyms_8c_a2407cc956af431a8c3140b7218b87ea8}} 
\index{ksyms.c@{ksyms.c}!ksyms\_mmap\_single@{ksyms\_mmap\_single}}
\index{ksyms\_mmap\_single@{ksyms\_mmap\_single}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_mmap\_single}{ksyms\_mmap\_single}}
{\footnotesize\ttfamily d\+\_\+mmap\+\_\+single\+\_\+t ksyms\+\_\+mmap\+\_\+single\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00075}{75}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_adb4fe232018b800375fa1844a19c08f4}\label{ksyms_8c_adb4fe232018b800375fa1844a19c08f4}} 
\index{ksyms.c@{ksyms.c}!ksyms\_mtx@{ksyms\_mtx}}
\index{ksyms\_mtx@{ksyms\_mtx}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_mtx}{ksyms\_mtx}}
{\footnotesize\ttfamily struct sx ksyms\+\_\+mtx\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00095}{95}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.



Referenced by \mbox{\hyperlink{ksyms_8c_source_l00389}{ksyms\+\_\+cdevpriv\+\_\+dtr()}}, \mbox{\hyperlink{ksyms_8c_source_l00499}{ksyms\+\_\+modevent()}}, and \mbox{\hyperlink{ksyms_8c_source_l00406}{ksyms\+\_\+open()}}.

\mbox{\Hypertarget{ksyms_8c_a38df1d09d72ea2990aa5f96f4c13becb}\label{ksyms_8c_a38df1d09d72ea2990aa5f96f4c13becb}} 
\index{ksyms.c@{ksyms.c}!ksyms\_open@{ksyms\_open}}
\index{ksyms\_open@{ksyms\_open}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_open}{ksyms\_open}}
{\footnotesize\ttfamily d\+\_\+open\+\_\+t ksyms\+\_\+open\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00073}{73}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

\mbox{\Hypertarget{ksyms_8c_a352c85a1fb48d45def5b583ec252b1a3}\label{ksyms_8c_a352c85a1fb48d45def5b583ec252b1a3}} 
\index{ksyms.c@{ksyms.c}!ksyms\_read@{ksyms\_read}}
\index{ksyms\_read@{ksyms\_read}!ksyms.c@{ksyms.c}}
\doxysubsubsection{\texorpdfstring{ksyms\_read}{ksyms\_read}}
{\footnotesize\ttfamily d\+\_\+read\+\_\+t ksyms\+\_\+read\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ksyms_8c_source_l00074}{74}} of file \mbox{\hyperlink{ksyms_8c_source}{ksyms.\+c}}.

