\doxysection{osmo\+\_\+fd Struct Reference}
\label{structosmo__fd}\index{osmo\_fd@{osmo\_fd}}


Structure representing a file dsecriptor.  




{\ttfamily \#include $<$select.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ llist\+\_\+head} \textbf{ list}
\begin{DoxyCompactList}\small\item\em linked list for internal management \end{DoxyCompactList}\item 
int \textbf{ fd}
\begin{DoxyCompactList}\small\item\em actual operating-\/system level file decriptor \end{DoxyCompactList}\item 
unsigned int \textbf{ when}
\begin{DoxyCompactList}\small\item\em bit-\/mask or of \doxyref{OSMO\+\_\+\+FD\+\_\+\+READ}{p.}{group__select_ga0b213d11f729967d08a03f84a29e27b8}, \doxyref{OSMO\+\_\+\+FD\+\_\+\+WRITE}{p.}{group__select_ga35f0e6aebab8ac046ab1f6d40a75e9f1} and/or \doxyref{OSMO\+\_\+\+FD\+\_\+\+EXCEPT}{p.}{group__select_ga2f7bdc2b5dc69c376d44170645a69f0a} \end{DoxyCompactList}\item 
int($\ast$ \textbf{ cb} )(struct \textbf{ osmo\+\_\+fd} $\ast$\textbf{ fd}, unsigned int what)
\begin{DoxyCompactList}\small\item\em call-\/back function to be called once file descriptor becomes available \end{DoxyCompactList}\item 
void $\ast$ \textbf{ data}
\begin{DoxyCompactList}\small\item\em data pointer passed through to call-\/back function \end{DoxyCompactList}\item 
unsigned int \textbf{ priv\+\_\+nr}
\begin{DoxyCompactList}\small\item\em private number, extending {\itshape data} \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Structure representing a file dsecriptor. 

\doxysubsection{Field Documentation}
\mbox{\label{structosmo__fd_a7a7294408590a34be4396ae14be5604d}} 
\index{osmo\_fd@{osmo\_fd}!cb@{cb}}
\index{cb@{cb}!osmo\_fd@{osmo\_fd}}
\doxysubsubsection{cb}
{\footnotesize\ttfamily int($\ast$ osmo\+\_\+fd\+::cb) (struct \textbf{ osmo\+\_\+fd} $\ast$\textbf{ fd}, unsigned int what)}



call-\/back function to be called once file descriptor becomes available 



Referenced by \textbf{ osmo\+\_\+wqueue\+\_\+init()}.

\mbox{\label{structosmo__fd_aac6e436124d82cfc17e88b469c6fece8}} 
\index{osmo\_fd@{osmo\_fd}!data@{data}}
\index{data@{data}!osmo\_fd@{osmo\_fd}}
\doxysubsubsection{data}
{\footnotesize\ttfamily void$\ast$ osmo\+\_\+fd\+::data}



data pointer passed through to call-\/back function 



Referenced by \textbf{ iofd\+\_\+poll\+\_\+ofd\+\_\+cb\+\_\+dispatch()}, \textbf{ iofd\+\_\+poll\+\_\+ofd\+\_\+cb\+\_\+recvmsg\+\_\+sendmsg()}, \textbf{ osmo\+\_\+mnl\+\_\+fd\+\_\+cb()}, \textbf{ tundev\+\_\+read\+\_\+cb()}, and \textbf{ tundev\+\_\+write\+\_\+cb()}.

\mbox{\label{structosmo__fd_a0468421e6311734f4c8566eeebf8f137}} 
\index{osmo\_fd@{osmo\_fd}!fd@{fd}}
\index{fd@{fd}!osmo\_fd@{osmo\_fd}}
\doxysubsubsection{fd}
{\footnotesize\ttfamily int osmo\+\_\+fd\+::fd}



actual operating-\/system level file decriptor 



Referenced by \textbf{ \+\_\+file\+\_\+wq\+\_\+write\+\_\+cb()}, \textbf{ fill\+\_\+stats()}, \textbf{ gsmtap\+\_\+inst\+\_\+fd2()}, \textbf{ iofd\+\_\+poll\+\_\+ofd\+\_\+cb\+\_\+recvmsg\+\_\+sendmsg()}, \textbf{ is\+\_\+tcp()}, \textbf{ log\+\_\+target\+\_\+create\+\_\+file()}, \textbf{ log\+\_\+target\+\_\+destroy()}, \textbf{ log\+\_\+target\+\_\+file\+\_\+reopen()}, \textbf{ log\+\_\+target\+\_\+file\+\_\+switch\+\_\+to\+\_\+stream()}, \textbf{ log\+\_\+target\+\_\+file\+\_\+switch\+\_\+to\+\_\+wqueue()}, \textbf{ osmo\+\_\+stats\+\_\+tcp\+\_\+osmo\+\_\+fd\+\_\+unregister()}, \textbf{ osmo\+\_\+stats\+\_\+timer\+\_\+cb()}, \textbf{ osmo\+\_\+tundev\+\_\+close()}, \textbf{ osmo\+\_\+tundev\+\_\+open()}, \textbf{ rate\+\_\+ctr\+\_\+init()}, \textbf{ rate\+\_\+ctr\+\_\+timer\+\_\+cb()}, \textbf{ start\+\_\+timer()}, \textbf{ tundev\+\_\+decaps()}, and \textbf{ tundev\+\_\+write\+\_\+cb()}.

\mbox{\label{structosmo__fd_a76a7fd05e66918c0c130deeaeb017d0f}} 
\index{osmo\_fd@{osmo\_fd}!list@{list}}
\index{list@{list}!osmo\_fd@{osmo\_fd}}
\doxysubsubsection{list}
{\footnotesize\ttfamily struct \textbf{ llist\+\_\+head} osmo\+\_\+fd\+::list}



linked list for internal management 

\mbox{\label{structosmo__fd_aac54e6c53e7849307d889f9b340b5bd4}} 
\index{osmo\_fd@{osmo\_fd}!priv\_nr@{priv\_nr}}
\index{priv\_nr@{priv\_nr}!osmo\_fd@{osmo\_fd}}
\doxysubsubsection{priv\_nr}
{\footnotesize\ttfamily unsigned int osmo\+\_\+fd\+::priv\+\_\+nr}



private number, extending {\itshape data} 

\mbox{\label{structosmo__fd_a7ddfa2c0a7a590bd162fa0cd359c18ee}} 
\index{osmo\_fd@{osmo\_fd}!when@{when}}
\index{when@{when}!osmo\_fd@{osmo\_fd}}
\doxysubsubsection{when}
{\footnotesize\ttfamily unsigned int osmo\+\_\+fd\+::when}



bit-\/mask or of \doxyref{OSMO\+\_\+\+FD\+\_\+\+READ}{p.}{group__select_ga0b213d11f729967d08a03f84a29e27b8}, \doxyref{OSMO\+\_\+\+FD\+\_\+\+WRITE}{p.}{group__select_ga35f0e6aebab8ac046ab1f6d40a75e9f1} and/or \doxyref{OSMO\+\_\+\+FD\+\_\+\+EXCEPT}{p.}{group__select_ga2f7bdc2b5dc69c376d44170645a69f0a} 



Referenced by \textbf{ log\+\_\+target\+\_\+create\+\_\+file()}, \textbf{ log\+\_\+target\+\_\+file\+\_\+switch\+\_\+to\+\_\+wqueue()}, \textbf{ osmo\+\_\+wqueue\+\_\+bfd\+\_\+cb()}, \textbf{ osmo\+\_\+wqueue\+\_\+clear()}, and \textbf{ osmo\+\_\+wqueue\+\_\+enqueue\+\_\+quiet()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/osmocom/core/\textbf{ select.\+h}\end{DoxyCompactItemize}
