libosmo-netif  1.4.0.57-481f.202407112026
Osmocom network interface library
sctp.h
1 #pragma once
2 
3 #include <osmocom/core/utils.h>
4 
5 /* Relevant SCTP RFCs:
6  * rfc9260 (obsoletes rfc4960): SCTP protocol
7  * rfc5061: SCTP Dynamic Address Reconfiguration
8  * rfc6458: SCTP Sockets API Extensions
9  */
10 
11 enum sctp_sac_state;
12 extern const struct value_string osmo_sctp_assoc_chg_strs[];
13 static inline const char *osmo_sctp_assoc_chg_str(enum sctp_sac_state val)
14 { return get_value_string(osmo_sctp_assoc_chg_strs, val); }
15 
16 enum sctp_spc_state;
17 extern const struct value_string osmo_sctp_paddr_chg_strs[];
18 static inline const char *osmo_sctp_paddr_chg_str(enum sctp_spc_state val)
19 { return get_value_string(osmo_sctp_paddr_chg_strs, val); }
20 
21 enum sctp_sn_type;
22 extern const struct value_string osmo_sctp_sn_type_strs[];
23 static inline const char *osmo_sctp_sn_type_str(enum sctp_sn_type val)
24 { return get_value_string(osmo_sctp_sn_type_strs, val); }
25 
26 enum sctp_sn_error;
27 extern const struct value_string osmo_sctp_sn_error_strs[];
28 static inline const char *osmo_sctp_sn_error_str(enum sctp_sn_error val)
29 { return get_value_string(osmo_sctp_sn_error_strs, val); }
30 
31 enum osmo_sctp_op_error {
32  OSMO_SCTP_OP_ERR_INVALID_STREAM_ID = 1,
33  OSMO_SCTP_OP_ERR_MISS_MAND_PARAM = 2,
34  OSMO_SCTP_OP_ERR_STALE_COOKIE = 3,
35  OSMO_SCTP_OP_ERR_NO_RESOURCES = 4,
36  OSMO_SCTP_OP_ERR_UNRESOLV_ADDR = 5,
37  OSMO_SCTP_OP_ERR_UNKN_CHUNK_TYPE = 6,
38  OSMO_SCTP_OP_ERR_INVALID_MAND_PARAM = 7,
39  OSMO_SCTP_OP_ERR_UNKN_PARAM = 8,
40  OSMO_SCTP_OP_ERR_NO_USER_DATA = 9,
41  OSMO_SCTP_OP_ERR_COOKIE_RX_WHILE_SHUTDOWN = 10,
42  OSMO_SCTP_OP_ERR_RESTART_ASSC_NEW_ADDR = 11,
43  OSMO_SCTP_OP_ERR_UNER_INITED_ABORT = 12,
44  OSMO_SCTP_OP_ERR_PROTO_VERSION = 13,
45 };
46 
47 
48 extern const struct value_string osmo_sctp_op_error_strs[];
49 static inline const char *osmo_sctp_op_error_str(enum osmo_sctp_op_error val)
50 { return get_value_string(osmo_sctp_op_error_strs, val); }
51 
52 enum sctp_spinfo_state;
53 extern const struct value_string osmo_sctp_spinfo_state_strs[];
54 static inline const char *osmo_sctp_spinfo_state_str(enum sctp_spinfo_state val)
55 { return get_value_string(osmo_sctp_spinfo_state_strs, val); }
56 
57 enum sctp_sstat_state;
58 extern const struct value_string osmo_sctp_sstat_state_strs[];
59 static inline const char *osmo_sctp_sstat_state_str(enum sctp_sstat_state val)
60 { return get_value_string(osmo_sctp_sstat_state_strs, val); }