libosmo-sigtran  2.3.0
Osmocom SIGTRAN library
ss7_user.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <unistd.h>
5 #include <osmocom/core/prim.h>
8 
9 /***********************************************************************
10  * SS7 User (MTP SAP)
11  ***********************************************************************/
12 
13 struct osmo_ss7_instance;
14 
15 struct osmo_ss7_user {
16  /* pointer back to SS7 instance */
18  /* name of the user */
19  const char *name;
20  /* primitive call-back for incoming MTP primitives */
21  osmo_prim_cb prim_cb;
22  /* private data */
23  void *priv;
24 };
25 
27 int ss7_user_mtp_sap_prim_up(const struct osmo_ss7_user *osu, struct osmo_mtp_prim *omp);
28 
30  const uint8_t *user_data, size_t user_data_len);
31 
33  enum mtp_unavail_cause cause,
34  bool cong_level_present,
35  uint8_t cong_level);
36 void mtp_resume_ind_up_to_all_users(struct osmo_ss7_instance *s7i, uint32_t pc);
37 void mtp_pause_ind_up_to_all_users(struct osmo_ss7_instance *s7i, uint32_t pc);
39  uint32_t dpc, enum mtp_unavail_cause cause,
40  bool cong_level_present, uint8_t cong_level);
41 
42 
43 #define _LOGPSS7U(osu, subsys, level, fmt, args ...) \
44  _LOGSS7((osu)->inst, subsys, level, "ss7_user(%s) " fmt, osu->name, ## args)
45 #define LOGPSS7U(osu, level, fmt, args ...) \
46  _LOGPSS7U(osu, DLSS7, level, fmt, ## args)
uint32_t dpc
Definition: m3ua.h:1
mtp_unavail_cause
Definition: mtp.h:49
void mtp_status_ind_up_to_all_users(struct osmo_ss7_instance *s7i, uint32_t dpc, enum mtp_unavail_cause cause, bool cong_level_present, uint8_t cong_level)
Definition: mtp_sap.c:182
int ss7_user_mtp_sap_prim_up(const struct osmo_ss7_user *osu, struct osmo_mtp_prim *omp)
Send a MTP SAP Primitive up to the MTP User.
Definition: mtp_sap.c:202
struct osmo_mtp_prim * mtp_prim_status_ind_alloc(uint32_t dpc, enum mtp_unavail_cause cause, bool cong_level_present, uint8_t cong_level)
Definition: mtp_sap.c:99
void ss7_user_unregister_all(struct osmo_ss7_user *user)
Definition: ss7_user.c:131
void mtp_pause_ind_up_to_all_users(struct osmo_ss7_instance *s7i, uint32_t pc)
Definition: mtp_sap.c:171
struct osmo_mtp_prim * mtp_prim_xfer_ind_alloc(const struct osmo_mtp_transfer_param *param, const uint8_t *user_data, size_t user_data_len)
Definition: mtp_sap.c:119
void mtp_resume_ind_up_to_all_users(struct osmo_ss7_instance *s7i, uint32_t pc)
Definition: mtp_sap.c:160
Definition: mtp_sap.h:64
Definition: mtp_sap.h:42
Definition: ss7_instance.h:47
struct osmo_ss7_user * user[16]
Definition: ss7_instance.h:62
Definition: ss7_user.h:15
const char * name
Definition: ss7_user.h:19
osmo_prim_cb prim_cb
Definition: ss7_user.h:21
void * priv
Definition: ss7_user.h:23
struct osmo_ss7_instance * inst
Definition: ss7_user.h:17
uint32_t pc
Definition: tcap_as_loadshare.c:2