\doxysection{sctp.\+h}
\label{sctp_8h_source}\index{include/osmocom/netif/sctp.h@{include/osmocom/netif/sctp.h}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00002\ }
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ <osmocom/core/utils.h>}}
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00005\ \textcolor{comment}{/*\ Relevant\ SCTP\ RFCs:}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ rfc9260\ (obsoletes\ rfc4960):\ SCTP\ protocol}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ rfc5061:\ SCTP\ Dynamic\ Address\ Reconfiguration}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ rfc6458:\ SCTP\ Sockets\ API\ Extensions}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{keyword}{enum}\ sctp\_sac\_state;}
\DoxyCodeLine{00012\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_assoc\_chg\_strs[];}
\DoxyCodeLine{00013\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_assoc\_chg\_str(\textcolor{keyword}{enum}\ sctp\_sac\_state\ val)}
\DoxyCodeLine{00014\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_assoc\_chg\_strs,\ val);\ \}}
\DoxyCodeLine{00015\ }
\DoxyCodeLine{00016\ \textcolor{keyword}{enum}\ sctp\_spc\_state;}
\DoxyCodeLine{00017\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_paddr\_chg\_strs[];}
\DoxyCodeLine{00018\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_paddr\_chg\_str(\textcolor{keyword}{enum}\ sctp\_spc\_state\ val)}
\DoxyCodeLine{00019\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_paddr\_chg\_strs,\ val);\ \}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ \textcolor{keyword}{enum}\ sctp\_sn\_type;}
\DoxyCodeLine{00022\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_sn\_type\_strs[];}
\DoxyCodeLine{00023\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_sn\_type\_str(\textcolor{keyword}{enum}\ sctp\_sn\_type\ val)}
\DoxyCodeLine{00024\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_sn\_type\_strs,\ val);\ \}}
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00026\ \textcolor{keyword}{enum}\ sctp\_sn\_error;}
\DoxyCodeLine{00027\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_sn\_error\_strs[];}
\DoxyCodeLine{00028\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_sn\_error\_str(\textcolor{keyword}{enum}\ sctp\_sn\_error\ val)}
\DoxyCodeLine{00029\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_sn\_error\_strs,\ val);\ \}}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ \textcolor{keyword}{enum}\ osmo\_sctp\_op\_error\ \{}
\DoxyCodeLine{00032\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_INVALID\_STREAM\_ID\ =\ \ 1,}
\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_MISS\_MAND\_PARAM\ =\ \ 2,}
\DoxyCodeLine{00034\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_STALE\_COOKIE\ =\ \ 3,}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_NO\_RESOURCES\ =\ \ 4,}
\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_UNRESOLV\_ADDR\ =\ \ 5,}
\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_UNKN\_CHUNK\_TYPE\ =\ \ 6,}
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_INVALID\_MAND\_PARAM\ =\ \ 7,}
\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_UNKN\_PARAM\ =\ \ 8,}
\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_NO\_USER\_DATA\ =\ \ 9,}
\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_COOKIE\_RX\_WHILE\_SHUTDOWN\ =\ 10,}
\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_RESTART\_ASSC\_NEW\_ADDR\ =\ 11,}
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_UNER\_INITED\_ABORT\ =\ 12,}
\DoxyCodeLine{00044\ \ \ \ \ \ \ \ \ OSMO\_SCTP\_OP\_ERR\_PROTO\_VERSION\ =\ 13,}
\DoxyCodeLine{00045\ \};}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ }
\DoxyCodeLine{00048\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_op\_error\_strs[];}
\DoxyCodeLine{00049\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_op\_error\_str(\textcolor{keyword}{enum}\ osmo\_sctp\_op\_error\ val)}
\DoxyCodeLine{00050\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_op\_error\_strs,\ val);\ \}}
\DoxyCodeLine{00051\ }
\DoxyCodeLine{00052\ \textcolor{keyword}{enum}\ sctp\_spinfo\_state;}
\DoxyCodeLine{00053\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_spinfo\_state\_strs[];}
\DoxyCodeLine{00054\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_spinfo\_state\_str(\textcolor{keyword}{enum}\ sctp\_spinfo\_state\ val)}
\DoxyCodeLine{00055\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_spinfo\_state\_strs,\ val);\ \}}
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00057\ \textcolor{keyword}{enum}\ sctp\_sstat\_state;}
\DoxyCodeLine{00058\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sctp\_sstat\_state\_strs[];}
\DoxyCodeLine{00059\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sctp\_sstat\_state\_str(\textcolor{keyword}{enum}\ sctp\_sstat\_state\ val)}
\DoxyCodeLine{00060\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sctp\_sstat\_state\_strs,\ val);\ \}}

\end{DoxyCode}
