libosmo-sigtran  1.0.0.8-99be
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

#define M3UA_ASPSM_BEAT   3
#define M3UA_ASPSM_BEAT_ACK   6
#define M3UA_ASPSM_DOWN   2
#define M3UA_ASPSM_DOWN_ACK   5
#define M3UA_ASPSM_UP   1
#define M3UA_ASPSM_UP_ACK   4
#define M3UA_ASPTM_ACTIVE   1
#define M3UA_ASPTM_ACTIVE_ACK   3
#define M3UA_ASPTM_INACTIVE   2
#define M3UA_ASPTM_INACTIVE_ACK   4
#define M3UA_IEI_AFFECTED_PC   0x0012
#define M3UA_IEI_ASP_ID   0x0011
#define M3UA_IEI_CONC_DEST   0x0206
#define M3UA_IEI_CONG_IND   0x0205
#define M3UA_IEI_CORR_ID   0x0013
#define M3UA_IEI_DEREG_RESULT   0x0209
#define M3UA_IEI_DEREG_STATUS   0x0213
#define M3UA_IEI_DEST_PC   0x020b
#define M3UA_IEI_DIAG_INFO   0x0007

Referenced by m3ua_gen_error_msg().

#define M3UA_IEI_ERR_CODE   0x000c

Referenced by m3ua_gen_error(), and m3ua_rx_mgmt_err().

#define M3UA_IEI_HEARDBT_DATA   0x0009

Referenced by peer_send().

#define M3UA_IEI_INFO_STRING   0x0004
#define M3UA_IEI_LOC_RKEY_ID   0x020a
#define M3UA_IEI_NET_APPEAR   0x0200

Referenced by handle_rkey_reg().

#define M3UA_IEI_ORIG_PC   0x020e

Referenced by handle_rkey_reg().

#define M3UA_IEI_PROT_DATA   0x0210
#define M3UA_IEI_REG_RESULT   0x0208
#define M3UA_IEI_REG_STATUS   0x0212
#define M3UA_IEI_ROUT_KEY   0x0207
#define M3UA_IEI_STATUS   0x000d
#define M3UA_IEI_SVC_IND   0x020c

Referenced by handle_rkey_reg().

#define M3UA_IEI_TRAF_MODE_TYP   0x000b
#define M3UA_IEI_USER_CAUSE   0x0204
#define M3UA_MGMT_ERR   0

Referenced by m3ua_gen_error(), and m3ua_rx_mgmt().

#define M3UA_MGMT_NTFY   1

Referenced by m3ua_encode_notify(), and m3ua_rx_mgmt().

#define M3UA_MSGC_ASPSM   3

Referenced by m3ua_rx_msg().

#define M3UA_MSGC_ASPTM   4

Referenced by m3ua_rx_msg().

#define M3UA_MSGC_MGMT   0
#define M3UA_MSGC_SNM   2
#define M3UA_NOTIFY (   type,
  info 
)    ((info) << 16 | (type))

Referenced by m3ua_encode_notify().

#define M3UA_NOTIFY_I_AS_ACT   3

Referenced by lm_active().

#define M3UA_NOTIFY_I_AS_INACT   2

Referenced by lm_wait_notify().

#define M3UA_NOTIFY_I_AS_PEND   4

Referenced by lm_wait_notify().

#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT   2
#define M3UA_NOTIFY_I_OT_ASP_FAILURE   3
#define M3UA_NOTIFY_I_OT_INS_RES   1
#define M3UA_NOTIFY_I_RESERVED   1
#define M3UA_NOTIFY_T_OTHER   2
#define M3UA_NOTIFY_T_STATCHG   1
#define M3UA_PORT   2905
#define M3UA_PPID   3
#define M3UA_RKM_DEREG_REQ   3
#define M3UA_RKM_DEREG_RSP   4
#define M3UA_RKM_REG_REQ   1
#define M3UA_RKM_REG_RSP   2

Referenced by m3ua_rx_rkm(), and m3ua_rx_rkm_reg_req().

#define M3UA_SNM_DAUD   3
#define M3UA_SNM_DAVA   2
#define M3UA_SNM_DRST   6
#define M3UA_SNM_DUNA   1
#define M3UA_SNM_DUPU   5
#define M3UA_SNM_SCON   4
#define M3UA_VERSION   1

Enumeration Type Documentation

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 
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 
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 
Enumerator
M3UA_TMOD_OVERRIDE 
M3UA_TMOD_LOADSHARE 
M3UA_TMOD_BCAST 

Function Documentation

struct m3ua_data_hdr __attribute__ ( (packed)  )

Variable Documentation

struct pcaprec_hdr __attribute__
uint8_t mp
uint8_t ni

Referenced by DEFUN().

uint32_t opc
uint8_t si
uint8_t sls