\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}