libosmo-sigtran  1.9.0.4-dc82
Osmocom SIGTRAN library
m3ua.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  m3ua_data_hdr
 

Macros

#define M3UA_VERSION   1
 
#define M3UA_PPID   3
 
#define M3UA_PORT   2905
 
#define M3UA_MSGC_MGMT   0
 
#define M3UA_MSGC_XFER   1
 
#define M3UA_MSGC_SNM   2
 
#define M3UA_MSGC_ASPSM   3
 
#define M3UA_MSGC_ASPTM   4
 
#define M3UA_MSGC_RKM   9
 
#define M3UA_MGMT_ERR   0
 
#define M3UA_MGMT_NTFY   1
 
#define M3UA_XFER_DATA   1
 
#define M3UA_SNM_DUNA   1
 
#define M3UA_SNM_DAVA   2
 
#define M3UA_SNM_DAUD   3
 
#define M3UA_SNM_SCON   4
 
#define M3UA_SNM_DUPU   5
 
#define M3UA_SNM_DRST   6
 
#define M3UA_ASPSM_UP   1
 
#define M3UA_ASPSM_DOWN   2
 
#define M3UA_ASPSM_BEAT   3
 
#define M3UA_ASPSM_UP_ACK   4
 
#define M3UA_ASPSM_DOWN_ACK   5
 
#define M3UA_ASPSM_BEAT_ACK   6
 
#define M3UA_ASPTM_ACTIVE   1
 
#define M3UA_ASPTM_INACTIVE   2
 
#define M3UA_ASPTM_ACTIVE_ACK   3
 
#define M3UA_ASPTM_INACTIVE_ACK   4
 
#define M3UA_RKM_REG_REQ   1
 
#define M3UA_RKM_REG_RSP   2
 
#define M3UA_RKM_DEREG_REQ   3
 
#define M3UA_RKM_DEREG_RSP   4
 
#define M3UA_IEI_INFO_STRING   0x0004
 
#define M3UA_IEI_ROUTE_CTX   0x0006
 
#define M3UA_IEI_DIAG_INFO   0x0007
 
#define M3UA_IEI_HEARDBT_DATA   0x0009
 
#define M3UA_IEI_TRAF_MODE_TYP   0x000b
 
#define M3UA_IEI_ERR_CODE   0x000c
 
#define M3UA_IEI_STATUS   0x000d
 
#define M3UA_IEI_ASP_ID   0x0011
 
#define M3UA_IEI_AFFECTED_PC   0x0012
 
#define M3UA_IEI_CORR_ID   0x0013
 
#define M3UA_IEI_NET_APPEAR   0x0200
 
#define M3UA_IEI_USER_CAUSE   0x0204
 
#define M3UA_IEI_CONG_IND   0x0205
 
#define M3UA_IEI_CONC_DEST   0x0206
 
#define M3UA_IEI_ROUT_KEY   0x0207
 
#define M3UA_IEI_REG_RESULT   0x0208
 
#define M3UA_IEI_DEREG_RESULT   0x0209
 
#define M3UA_IEI_LOC_RKEY_ID   0x020a
 
#define M3UA_IEI_DEST_PC   0x020b
 
#define M3UA_IEI_SVC_IND   0x020c
 
#define M3UA_IEI_ORIG_PC   0x020e
 
#define M3UA_IEI_PROT_DATA   0x0210
 
#define M3UA_IEI_REG_STATUS   0x0212
 
#define M3UA_IEI_DEREG_STATUS   0x0213
 
#define M3UA_NOTIFY(type, info)   ((info) << 16 | (type))
 
#define M3UA_NOTIFY_T_STATCHG   1
 
#define M3UA_NOTIFY_T_OTHER   2
 
#define M3UA_NOTIFY_I_RESERVED   1
 
#define M3UA_NOTIFY_I_AS_INACT   2
 
#define M3UA_NOTIFY_I_AS_ACT   3
 
#define M3UA_NOTIFY_I_AS_PEND   4
 
#define M3UA_NOTIFY_I_OT_INS_RES   1
 
#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT   2
 
#define M3UA_NOTIFY_I_OT_ASP_FAILURE   3
 

Enumerations

enum  m3ua_rkm_reg_status {
  M3UA_RKM_REG_SUCCESS = 0, M3UA_RKM_REG_ERR_UNKNOWN = 1, M3UA_RKM_REG_ERR_INVAL_DPC = 2, M3UA_RKM_REG_ERR_INVAL_NET_APPEAR = 3,
  M3UA_RKM_REG_ERR_INVAL_RKEY = 4, M3UA_RKM_REG_ERR_PERM_DENIED = 5, M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT = 6, M3UA_RKM_REG_ERR_RKEY_NOT_PROVD = 7,
  M3UA_RKM_REG_ERR_INSUFF_RESRC = 8, M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM = 9, M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE = 10, M3UA_RKM_REG_ERR_RKEY_CHG_REFUSED = 11,
  M3UA_RKM_REG_ERR_RKEY_ALRDY_REGD = 12
}
 
enum  m3ua_rkm_dereg_satus {
  M3UA_RKM_DEREG_SUCCESS = 0, M3UA_RKM_DEREG_ERR_UNKNOWN = 1, M3UA_RKM_DEREG_ERR_INVAL_RCTX = 2, M3UA_RKM_DEREG_ERR_PERM_DENIED = 3,
  M3UA_RKM_DEREG_ERR_NOT_REGD = 4, M3UA_RKM_DEREG_ERR_ASP_ACTIVE = 5
}
 
enum  m3ua_error_code {
  M3UA_ERR_INVALID_VERSION = 0x01, M3UA_ERR_UNSUPP_MSG_CLASS = 0x03, M3UA_ERR_UNSUPP_MSG_TYPE = 0x04, M3UA_ERR_UNSUPP_TRAF_MOD_TYP = 0x05,
  M3UA_ERR_UNEXPECTED_MSG = 0x06, M3UA_ERR_PROTOCOL_ERR = 0x07, M3UA_ERR_INVAL_STREAM_ID = 0x09, M3UA_ERR_REFUSED_MGMT_BLOCKING = 0x0d,
  M3UA_ERR_ASP_ID_REQD = 0x0e, M3UA_ERR_INVAL_ASP_ID = 0x0f, M3UA_ERR_INVAL_PARAM_VAL = 0x11, M3UA_ERR_PARAM_FIELD_ERR = 0x12,
  M3UA_ERR_UNEXP_PARAM = 0x13, M3UA_ERR_DEST_STATUS_UNKN = 0x14, M3UA_ERR_INVAL_NET_APPEAR = 0x15, M3UA_ERR_MISSING_PARAM = 0x16,
  M3UA_ERR_INVAL_ROUT_CTX = 0x19, M3UA_ERR_NO_CONFGD_AS_FOR_ASP = 0x1a
}
 
enum  m3ua_traffic_mode { M3UA_TMOD_OVERRIDE = 1, M3UA_TMOD_LOADSHARE = 2, M3UA_TMOD_BCAST = 3 }
 

Functions

struct m3ua_data_hdr __attribute__ ((packed))
 

Variables

uint32_t opc
 
uint32_t dpc
 
uint8_t si
 
uint8_t ni
 
uint8_t mp
 
uint8_t sls
 
enum m3ua_rkm_reg_status __attribute__
 

Macro Definition Documentation

◆ M3UA_ASPSM_BEAT

#define M3UA_ASPSM_BEAT   3

◆ M3UA_ASPSM_BEAT_ACK

#define M3UA_ASPSM_BEAT_ACK   6

◆ M3UA_ASPSM_DOWN

#define M3UA_ASPSM_DOWN   2

◆ M3UA_ASPSM_DOWN_ACK

#define M3UA_ASPSM_DOWN_ACK   5

◆ M3UA_ASPSM_UP

#define M3UA_ASPSM_UP   1

◆ M3UA_ASPSM_UP_ACK

#define M3UA_ASPSM_UP_ACK   4

◆ M3UA_ASPTM_ACTIVE

#define M3UA_ASPTM_ACTIVE   1

◆ M3UA_ASPTM_ACTIVE_ACK

#define M3UA_ASPTM_ACTIVE_ACK   3

◆ M3UA_ASPTM_INACTIVE

#define M3UA_ASPTM_INACTIVE   2

◆ M3UA_ASPTM_INACTIVE_ACK

#define M3UA_ASPTM_INACTIVE_ACK   4

◆ M3UA_IEI_AFFECTED_PC

◆ M3UA_IEI_ASP_ID

#define M3UA_IEI_ASP_ID   0x0011

◆ M3UA_IEI_CONC_DEST

#define M3UA_IEI_CONC_DEST   0x0206

◆ M3UA_IEI_CONG_IND

#define M3UA_IEI_CONG_IND   0x0205

◆ M3UA_IEI_CORR_ID

#define M3UA_IEI_CORR_ID   0x0013

◆ M3UA_IEI_DEREG_RESULT

#define M3UA_IEI_DEREG_RESULT   0x0209

◆ M3UA_IEI_DEREG_STATUS

#define M3UA_IEI_DEREG_STATUS   0x0213

◆ M3UA_IEI_DEST_PC

#define M3UA_IEI_DEST_PC   0x020b

◆ M3UA_IEI_DIAG_INFO

#define M3UA_IEI_DIAG_INFO   0x0007

Referenced by m3ua_gen_error_msg().

◆ M3UA_IEI_ERR_CODE

#define M3UA_IEI_ERR_CODE   0x000c

Referenced by m3ua_gen_error(), and m3ua_rx_mgmt_err().

◆ M3UA_IEI_HEARDBT_DATA

#define M3UA_IEI_HEARDBT_DATA   0x0009

Referenced by peer_send().

◆ M3UA_IEI_INFO_STRING

◆ M3UA_IEI_LOC_RKEY_ID

#define M3UA_IEI_LOC_RKEY_ID   0x020a

◆ M3UA_IEI_NET_APPEAR

#define M3UA_IEI_NET_APPEAR   0x0200

Referenced by handle_rkey_reg().

◆ M3UA_IEI_ORIG_PC

#define M3UA_IEI_ORIG_PC   0x020e

Referenced by handle_rkey_reg().

◆ M3UA_IEI_PROT_DATA

#define M3UA_IEI_PROT_DATA   0x0210

◆ M3UA_IEI_REG_RESULT

#define M3UA_IEI_REG_RESULT   0x0208

◆ M3UA_IEI_REG_STATUS

#define M3UA_IEI_REG_STATUS   0x0212

◆ M3UA_IEI_ROUT_KEY

#define M3UA_IEI_ROUT_KEY   0x0207

◆ M3UA_IEI_ROUTE_CTX

◆ M3UA_IEI_STATUS

#define M3UA_IEI_STATUS   0x000d

◆ M3UA_IEI_SVC_IND

#define M3UA_IEI_SVC_IND   0x020c

Referenced by handle_rkey_reg().

◆ M3UA_IEI_TRAF_MODE_TYP

#define M3UA_IEI_TRAF_MODE_TYP   0x000b

◆ M3UA_IEI_USER_CAUSE

#define M3UA_IEI_USER_CAUSE   0x0204

◆ M3UA_MGMT_ERR

#define M3UA_MGMT_ERR   0

Referenced by m3ua_gen_error(), and m3ua_rx_mgmt().

◆ M3UA_MGMT_NTFY

#define M3UA_MGMT_NTFY   1

Referenced by m3ua_encode_notify(), and m3ua_rx_mgmt().

◆ M3UA_MSGC_ASPSM

#define M3UA_MSGC_ASPSM   3

Referenced by m3ua_rx_msg().

◆ M3UA_MSGC_ASPTM

#define M3UA_MSGC_ASPTM   4

Referenced by m3ua_rx_msg().

◆ M3UA_MSGC_MGMT

#define M3UA_MSGC_MGMT   0

◆ M3UA_MSGC_RKM

◆ M3UA_MSGC_SNM

◆ M3UA_MSGC_XFER

◆ M3UA_NOTIFY

#define M3UA_NOTIFY (   type,
  info 
)    ((info) << 16 | (type))

Referenced by m3ua_encode_notify().

◆ M3UA_NOTIFY_I_AS_ACT

#define M3UA_NOTIFY_I_AS_ACT   3

Referenced by lm_active().

◆ M3UA_NOTIFY_I_AS_INACT

#define M3UA_NOTIFY_I_AS_INACT   2

Referenced by lm_wait_notify().

◆ M3UA_NOTIFY_I_AS_PEND

#define M3UA_NOTIFY_I_AS_PEND   4

Referenced by lm_wait_notify().

◆ M3UA_NOTIFY_I_OT_ALT_ASP_ACT

#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT   2

◆ M3UA_NOTIFY_I_OT_ASP_FAILURE

#define M3UA_NOTIFY_I_OT_ASP_FAILURE   3

◆ M3UA_NOTIFY_I_OT_INS_RES

#define M3UA_NOTIFY_I_OT_INS_RES   1

◆ M3UA_NOTIFY_I_RESERVED

#define M3UA_NOTIFY_I_RESERVED   1

◆ M3UA_NOTIFY_T_OTHER

#define M3UA_NOTIFY_T_OTHER   2

◆ M3UA_NOTIFY_T_STATCHG

#define M3UA_NOTIFY_T_STATCHG   1

◆ M3UA_PORT

#define M3UA_PORT   2905

◆ M3UA_PPID

◆ M3UA_RKM_DEREG_REQ

#define M3UA_RKM_DEREG_REQ   3

◆ M3UA_RKM_DEREG_RSP

#define M3UA_RKM_DEREG_RSP   4

◆ M3UA_RKM_REG_REQ

#define M3UA_RKM_REG_REQ   1

◆ M3UA_RKM_REG_RSP

#define M3UA_RKM_REG_RSP   2

Referenced by m3ua_rx_rkm(), and m3ua_rx_rkm_reg_req().

◆ M3UA_SNM_DAUD

#define M3UA_SNM_DAUD   3

◆ M3UA_SNM_DAVA

#define M3UA_SNM_DAVA   2

◆ M3UA_SNM_DRST

#define M3UA_SNM_DRST   6

Referenced by m3ua_rx_snm_asp().

◆ M3UA_SNM_DUNA

#define M3UA_SNM_DUNA   1

◆ M3UA_SNM_DUPU

#define M3UA_SNM_DUPU   5

◆ M3UA_SNM_SCON

#define M3UA_SNM_SCON   4

◆ M3UA_VERSION

◆ M3UA_XFER_DATA

Enumeration Type Documentation

◆ m3ua_error_code

Enumerator
M3UA_ERR_INVALID_VERSION 
M3UA_ERR_UNSUPP_MSG_CLASS 
M3UA_ERR_UNSUPP_MSG_TYPE 
M3UA_ERR_UNSUPP_TRAF_MOD_TYP 
M3UA_ERR_UNEXPECTED_MSG 
M3UA_ERR_PROTOCOL_ERR 
M3UA_ERR_INVAL_STREAM_ID 
M3UA_ERR_REFUSED_MGMT_BLOCKING 
M3UA_ERR_ASP_ID_REQD 
M3UA_ERR_INVAL_ASP_ID 
M3UA_ERR_INVAL_PARAM_VAL 
M3UA_ERR_PARAM_FIELD_ERR 
M3UA_ERR_UNEXP_PARAM 
M3UA_ERR_DEST_STATUS_UNKN 
M3UA_ERR_INVAL_NET_APPEAR 
M3UA_ERR_MISSING_PARAM 
M3UA_ERR_INVAL_ROUT_CTX 
M3UA_ERR_NO_CONFGD_AS_FOR_ASP 

◆ m3ua_rkm_dereg_satus

Enumerator
M3UA_RKM_DEREG_SUCCESS 
M3UA_RKM_DEREG_ERR_UNKNOWN 
M3UA_RKM_DEREG_ERR_INVAL_RCTX 
M3UA_RKM_DEREG_ERR_PERM_DENIED 
M3UA_RKM_DEREG_ERR_NOT_REGD 
M3UA_RKM_DEREG_ERR_ASP_ACTIVE 

◆ m3ua_rkm_reg_status

Enumerator
M3UA_RKM_REG_SUCCESS 
M3UA_RKM_REG_ERR_UNKNOWN 
M3UA_RKM_REG_ERR_INVAL_DPC 
M3UA_RKM_REG_ERR_INVAL_NET_APPEAR 
M3UA_RKM_REG_ERR_INVAL_RKEY 
M3UA_RKM_REG_ERR_PERM_DENIED 
M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT 
M3UA_RKM_REG_ERR_RKEY_NOT_PROVD 
M3UA_RKM_REG_ERR_INSUFF_RESRC 
M3UA_RKM_REG_ERR_UNSUPP_RK_PARAM 
M3UA_RKM_REG_ERR_UNSUPP_TRAF_MODE 
M3UA_RKM_REG_ERR_RKEY_CHG_REFUSED 
M3UA_RKM_REG_ERR_RKEY_ALRDY_REGD 

◆ m3ua_traffic_mode

Enumerator
M3UA_TMOD_OVERRIDE 
M3UA_TMOD_LOADSHARE 
M3UA_TMOD_BCAST 

Function Documentation

◆ __attribute__()

struct m3ua_data_hdr __attribute__ ( (packed)  )

Variable Documentation

◆ __attribute__

struct xua_parameter_hdr __attribute__

◆ dpc

◆ mp

uint8_t mp

◆ ni

uint8_t ni

Referenced by DEFUN_ATTR().

◆ opc

uint32_t opc

◆ si

uint8_t si

◆ sls

uint8_t sls

Referenced by ipa_rx_msg_sccp().