libosmo-sigtran 2.3.0.61-fb14d
Osmocom SIGTRAN library
sccp_user.h
Go to the documentation of this file.
1#pragma once
2#include <inttypes.h>
3
4#include <osmocom/core/fsm.h>
5#include <osmocom/core/prim.h>
6#include <osmocom/core/linuxlist.h>
7
9
11enum sccp_refusal_cause;
13
16 struct llist_head list;
20 char *name;
21
23 uint16_t ssn;
24 uint32_t pc;
25
26 /* set if we are a server */
27 struct llist_head links;
28
29 /* user call-back function in case of incoming primitives */
30 osmo_prim_cb prim_cb;
31 void *priv;
32
33 /* Application Server FSM Instance */
34 struct osmo_fsm_inst *as_fi;
35};
36
37struct osmo_sccp_user *sccp_user_alloc(struct osmo_sccp_instance *inst, const char *name,
38 osmo_prim_cb prim_cb, uint16_t ssn, uint32_t pc);
39void sccp_user_free(struct osmo_sccp_user *scu);
40
41int sccp_user_prim_up(struct osmo_sccp_user *scut, struct osmo_scu_prim *prim);
42
43enum sccp_refusal_cause scu_rel_reason_to_sccp_refusal_cause(enum osmo_sccp_originator originator, uint32_t reason);
44enum sccp_release_cause scu_rel_reason_to_sccp_release_cause(enum osmo_sccp_originator originator, uint32_t reason);
45void sccp_refusal_cause_to_scu_rel_reason(enum osmo_sccp_originator *originator, uint32_t *reason, uint32_t sccp_cause);
46void sccp_release_cause_to_scu_rel_reason(enum osmo_sccp_originator *originator, uint32_t *reason, uint32_t sccp_cause);
47
48#define _LOGPSCU(scu, subsys, level, fmt, args ...) \
49 _LOGPSCI((scu)->inst, subsys, level, "SCU(%s) " fmt, osmo_sccp_user_name(scu), ## args)
50#define LOGPSCU(scu, level, fmt, args ...) \
51 _LOGPSCU(scu, DLSCCP, level, fmt, ## args)
osmo_sccp_originator
Definition: sccp_sap.h:301
enum sccp_release_cause scu_rel_reason_to_sccp_release_cause(enum osmo_sccp_originator originator, uint32_t reason)
Definition: sccp_sap.c:418
void sccp_release_cause_to_scu_rel_reason(enum osmo_sccp_originator *originator, uint32_t *reason, uint32_t sccp_cause)
Definition: sccp_sap.c:434
void sccp_user_free(struct osmo_sccp_user *scu)
Definition: sccp_user.c:84
enum sccp_refusal_cause scu_rel_reason_to_sccp_refusal_cause(enum osmo_sccp_originator originator, uint32_t reason)
Definition: sccp_sap.c:250
int sccp_user_prim_up(struct osmo_sccp_user *scut, struct osmo_scu_prim *prim)
Send a SCCP User SAP Primitive up to the User.
Definition: sccp_user.c:119
void sccp_refusal_cause_to_scu_rel_reason(enum osmo_sccp_originator *originator, uint32_t *reason, uint32_t sccp_cause)
Definition: sccp_sap.c:267
struct osmo_sccp_user * sccp_user_alloc(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn, uint32_t pc)
Definition: sccp_user.c:52
Definition: sccp_instance.h:47
Definition: sccp_user.h:14
struct osmo_fsm_inst * as_fi
Definition: sccp_user.h:34
struct osmo_sccp_instance * inst
pointer back to SCCP instance
Definition: sccp_user.h:18
uint32_t pc
Definition: sccp_user.h:24
struct llist_head links
Definition: sccp_user.h:27
void * priv
Definition: sccp_user.h:31
uint16_t ssn
SSN and/or point code to which we are bound.
Definition: sccp_user.h:23
char * name
human-readable name of this user
Definition: sccp_user.h:20
osmo_prim_cb prim_cb
Definition: sccp_user.h:30
struct llist_head list
entry in list of sccp users of osmo_sccp_instance
Definition: sccp_user.h:16
Definition: sccp_sap.h:370
uint8_t ssn
Definition: tcap_as_loadshare.c:3
uint32_t pc
Definition: tcap_as_loadshare.c:2