\doxysection{sctp.\+h} \label{sctp_8h_source}\index{include/osmocom/netif/sctp.h@{include/osmocom/netif/sctp.h}} \begin{DoxyCode}{0} \DoxyCodeLine{1 \textcolor{preprocessor}{\#pragma once}} \DoxyCodeLine{2 } \DoxyCodeLine{3 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{4 } \DoxyCodeLine{5 \textcolor{comment}{/* Relevant SCTP RFCs:}} \DoxyCodeLine{6 \textcolor{comment}{ * rfc9260 (obsoletes rfc4960): SCTP protocol}} \DoxyCodeLine{7 \textcolor{comment}{ * rfc5061: SCTP Dynamic Address Reconfiguration}} \DoxyCodeLine{8 \textcolor{comment}{ * rfc6458: SCTP Sockets API Extensions}} \DoxyCodeLine{9 \textcolor{comment}{ */}} \DoxyCodeLine{10 } \DoxyCodeLine{11 \textcolor{keyword}{enum} sctp\_sac\_state;} \DoxyCodeLine{12 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string osmo\_sctp\_assoc\_chg\_strs[];} \DoxyCodeLine{13 \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{14 \{ \textcolor{keywordflow}{return} get\_value\_string(osmo\_sctp\_assoc\_chg\_strs, val); \}} \DoxyCodeLine{15 } \DoxyCodeLine{16 \textcolor{keyword}{enum} sctp\_spc\_state;} \DoxyCodeLine{17 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string osmo\_sctp\_paddr\_chg\_strs[];} \DoxyCodeLine{18 \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{19 \{ \textcolor{keywordflow}{return} get\_value\_string(osmo\_sctp\_paddr\_chg\_strs, val); \}} \DoxyCodeLine{20 } \DoxyCodeLine{21 \textcolor{keyword}{enum} sctp\_sn\_type;} \DoxyCodeLine{22 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string osmo\_sctp\_sn\_type\_strs[];} \DoxyCodeLine{23 \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{24 \{ \textcolor{keywordflow}{return} get\_value\_string(osmo\_sctp\_sn\_type\_strs, val); \}} \DoxyCodeLine{25 } \DoxyCodeLine{26 \textcolor{keyword}{enum} sctp\_sn\_error;} \DoxyCodeLine{27 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string osmo\_sctp\_sn\_error\_strs[];} \DoxyCodeLine{28 \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{29 \{ \textcolor{keywordflow}{return} get\_value\_string(osmo\_sctp\_sn\_error\_strs, val); \}} \DoxyCodeLine{30 } \DoxyCodeLine{31 \textcolor{keyword}{enum} osmo\_sctp\_op\_error \{} \DoxyCodeLine{32 OSMO\_SCTP\_OP\_ERR\_INVALID\_STREAM\_ID = 1,} \DoxyCodeLine{33 OSMO\_SCTP\_OP\_ERR\_MISS\_MAND\_PARAM = 2,} \DoxyCodeLine{34 OSMO\_SCTP\_OP\_ERR\_STALE\_COOKIE = 3,} \DoxyCodeLine{35 OSMO\_SCTP\_OP\_ERR\_NO\_RESOURCES = 4,} \DoxyCodeLine{36 OSMO\_SCTP\_OP\_ERR\_UNRESOLV\_ADDR = 5,} \DoxyCodeLine{37 OSMO\_SCTP\_OP\_ERR\_UNKN\_CHUNK\_TYPE = 6,} \DoxyCodeLine{38 OSMO\_SCTP\_OP\_ERR\_INVALID\_MAND\_PARAM = 7,} \DoxyCodeLine{39 OSMO\_SCTP\_OP\_ERR\_UNKN\_PARAM = 8,} \DoxyCodeLine{40 OSMO\_SCTP\_OP\_ERR\_NO\_USER\_DATA = 9,} \DoxyCodeLine{41 OSMO\_SCTP\_OP\_ERR\_COOKIE\_RX\_WHILE\_SHUTDOWN = 10,} \DoxyCodeLine{42 OSMO\_SCTP\_OP\_ERR\_RESTART\_ASSC\_NEW\_ADDR = 11,} \DoxyCodeLine{43 OSMO\_SCTP\_OP\_ERR\_UNER\_INITED\_ABORT = 12,} \DoxyCodeLine{44 OSMO\_SCTP\_OP\_ERR\_PROTO\_VERSION = 13,} \DoxyCodeLine{45 \};} \DoxyCodeLine{46 } \DoxyCodeLine{47 } \DoxyCodeLine{48 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string osmo\_sctp\_op\_error\_strs[];} \DoxyCodeLine{49 \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{50 \{ \textcolor{keywordflow}{return} get\_value\_string(osmo\_sctp\_op\_error\_strs, val); \}} \end{DoxyCode}