\doxysection{osmo\+\_\+prim\+\_\+hdr Struct Reference}
\label{structosmo__prim__hdr}\index{osmo\_prim\_hdr@{osmo\_prim\_hdr}}


Osmocom primitive header.  




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

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
unsigned int \textbf{ sap}
\begin{DoxyCompactList}\small\item\em Service Access Point Identifier. \end{DoxyCompactList}\item 
unsigned int \textbf{ primitive}
\begin{DoxyCompactList}\small\item\em Primitive number. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+prim\+\_\+operation} \textbf{ operation}
\item 
struct \textbf{ msgb} $\ast$ \textbf{ msg}
\begin{DoxyCompactList}\small\item\em Primitive Operation. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Osmocom primitive header. 

\doxysubsection{Field Documentation}
\mbox{\label{structosmo__prim__hdr_a235048783f25c6ebce27806d880b6bf0}} 
\index{osmo\_prim\_hdr@{osmo\_prim\_hdr}!msg@{msg}}
\index{msg@{msg}!osmo\_prim\_hdr@{osmo\_prim\_hdr}}
\doxysubsubsection{msg}
{\footnotesize\ttfamily struct \textbf{ msgb}$\ast$ osmo\+\_\+prim\+\_\+hdr\+::msg}



Primitive Operation. 

\doxyref{Message buffers}{p.}{group__msgb} containing associated data. Note this can be slightly confusing, as the \doxyref{osmo\+\_\+prim\+\_\+hdr}{p.}{structosmo__prim__hdr} is stored inside a \doxyref{Message buffers}{p.}{group__msgb}, but then it contains a pointer back to the msgb. This is to simplify development\+: You can pass around a \doxyref{osmo\+\_\+prim\+\_\+hdr}{p.}{structosmo__prim__hdr} by itself, and any function can autonomously resolve the underlying msgb, if needed (e.\+g. for \doxyref{msgb\+\_\+free}{p.}{group__msgb_gae48b55f6f4529aafb069eaa3fa1998f0}. 

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

\mbox{\label{structosmo__prim__hdr_a54a9acf76e3e39037a65efb387033e60}} 
\index{osmo\_prim\_hdr@{osmo\_prim\_hdr}!operation@{operation}}
\index{operation@{operation}!osmo\_prim\_hdr@{osmo\_prim\_hdr}}
\doxysubsubsection{operation}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+prim\+\_\+operation} osmo\+\_\+prim\+\_\+hdr\+::operation}



Referenced by \textbf{ osmo\+\_\+event\+\_\+for\+\_\+prim()}, and \textbf{ osmo\+\_\+prim\+\_\+init()}.

\mbox{\label{structosmo__prim__hdr_a9328028342bffc94a7e97a3451ae218f}} 
\index{osmo\_prim\_hdr@{osmo\_prim\_hdr}!primitive@{primitive}}
\index{primitive@{primitive}!osmo\_prim\_hdr@{osmo\_prim\_hdr}}
\doxysubsubsection{primitive}
{\footnotesize\ttfamily unsigned int osmo\+\_\+prim\+\_\+hdr\+::primitive}



Primitive number. 



Referenced by \textbf{ osmo\+\_\+event\+\_\+for\+\_\+prim()}, and \textbf{ osmo\+\_\+prim\+\_\+init()}.

\mbox{\label{structosmo__prim__hdr_ad77587713baa284b7e74bcaadc4704df}} 
\index{osmo\_prim\_hdr@{osmo\_prim\_hdr}!sap@{sap}}
\index{sap@{sap}!osmo\_prim\_hdr@{osmo\_prim\_hdr}}
\doxysubsubsection{sap}
{\footnotesize\ttfamily unsigned int osmo\+\_\+prim\+\_\+hdr\+::sap}



Service Access Point Identifier. 



Referenced by \textbf{ osmo\+\_\+event\+\_\+for\+\_\+prim()}, and \textbf{ osmo\+\_\+prim\+\_\+init()}.



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