\doxysection{sccp\+\_\+user.\+h}
\label{sccp__user_8h_source}\index{src/sccp\_user.h@{src/sccp\_user.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{2 \textcolor{preprocessor}{\#include <inttypes.h>}}
\DoxyCodeLine{3 }
\DoxyCodeLine{4 \textcolor{preprocessor}{\#include <osmocom/core/fsm.h>}}
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <osmocom/core/prim.h>}}
\DoxyCodeLine{6 \textcolor{preprocessor}{\#include <osmocom/core/linuxlist.h>}}
\DoxyCodeLine{7 }
\DoxyCodeLine{8 \textcolor{preprocessor}{\#include <osmocom/sigtran/sccp\_sap.h>}}
\DoxyCodeLine{9 }
\DoxyCodeLine{10 \textcolor{keyword}{struct }osmo\_sccp\_instance;}
\DoxyCodeLine{11 }
\DoxyCodeLine{12 \textcolor{keyword}{struct }osmo\_sccp\_user \{}
\DoxyCodeLine{14         \textcolor{keyword}{struct }llist\_head list;}
\DoxyCodeLine{16         \textcolor{keyword}{struct }osmo\_sccp\_instance *inst;}
\DoxyCodeLine{18         \textcolor{keywordtype}{char} *name;}
\DoxyCodeLine{19 }
\DoxyCodeLine{21         uint16\_t ssn;}
\DoxyCodeLine{22         uint32\_t pc;}
\DoxyCodeLine{23 }
\DoxyCodeLine{24         \textcolor{comment}{/* set if we are a server */}}
\DoxyCodeLine{25         \textcolor{keyword}{struct }llist\_head links;}
\DoxyCodeLine{26 }
\DoxyCodeLine{27         \textcolor{comment}{/* user call-\/back function in case of incoming primitives */}}
\DoxyCodeLine{28         osmo\_prim\_cb prim\_cb;}
\DoxyCodeLine{29         \textcolor{keywordtype}{void} *priv;}
\DoxyCodeLine{30 }
\DoxyCodeLine{31         \textcolor{comment}{/* Application Server FSM Instance */}}
\DoxyCodeLine{32         \textcolor{keyword}{struct }osmo\_fsm\_inst *as\_fi;}
\DoxyCodeLine{33 \};}
\DoxyCodeLine{34 }
\DoxyCodeLine{35 \textcolor{keyword}{struct }osmo\_sccp\_user *sccp\_user\_alloc(\textcolor{keyword}{struct} osmo\_sccp\_instance *inst, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *name,}
\DoxyCodeLine{36                                        osmo\_prim\_cb prim\_cb, uint16\_t ssn, uint32\_t pc);}
\DoxyCodeLine{37 \textcolor{keywordtype}{void} sccp\_user\_free(\textcolor{keyword}{struct} osmo\_sccp\_user *scu);}
\DoxyCodeLine{38 }
\DoxyCodeLine{39 \textcolor{keywordtype}{int} sccp\_user\_prim\_up(\textcolor{keyword}{struct} osmo\_sccp\_user *scut, \textcolor{keyword}{struct} osmo\_scu\_prim *prim);}
\DoxyCodeLine{40 }
\DoxyCodeLine{41 \textcolor{preprocessor}{\#define \_LOGPSCU(scu, subsys, level, fmt, args ...) \(\backslash\)}}
\DoxyCodeLine{42 \textcolor{preprocessor}{        \_LOGPSCI((scu)-\/>inst, subsys, level, "{}SCU(\%s) "{}} fmt, osmo\_sccp\_user\_name(scu), \#\# args)}
\DoxyCodeLine{43 \textcolor{preprocessor}{\#define LOGPSCU(scu, level, fmt, args ...) \(\backslash\)}}
\DoxyCodeLine{44 \textcolor{preprocessor}{        \_LOGPSCU(scu, DLSCCP, level, fmt, \#\# args)}}

\end{DoxyCode}
