23 #include <osmocom/core/prim.h> 24 #include <osmocom/core/select.h> 25 #include <osmocom/core/linuxlist.h> 30 typedef int (*osmo_prim_srv_conn_cb)(
struct osmo_prim_srv *prim_srv);
32 typedef int (*osmo_prim_srv_rx_cb)(
struct osmo_prim_srv *prim_srv,
struct osmo_prim_hdr *oph);
41 typedef int (*osmo_prim_srv_rx_sapi_version)(
struct osmo_prim_srv *prim_srv, uint32_t sapi, uint16_t rem_version);
43 struct osmo_prim_hdr *osmo_prim_msgb_alloc(
unsigned int sap,
unsigned int primitive,
44 enum osmo_prim_operation operation,
size_t alloc_len);
48 int osmo_prim_srv_link_set_addr(
struct osmo_prim_srv_link *prim_link,
const char *path);
52 void osmo_prim_srv_link_set_log_category(
struct osmo_prim_srv_link *prim_link,
int log_cat);
53 void osmo_prim_srv_link_set_opened_conn_cb(
struct osmo_prim_srv_link *prim_link, osmo_prim_srv_conn_cb opened_conn_cb);
54 void osmo_prim_srv_link_set_closed_conn_cb(
struct osmo_prim_srv_link *prim_link, osmo_prim_srv_conn_cb closed_conn_cb);
55 void osmo_prim_srv_link_set_rx_sapi_version_cb(
struct osmo_prim_srv_link *prim_link, osmo_prim_srv_rx_sapi_version rx_sapi_version_cb);
56 void osmo_prim_srv_link_set_rx_cb(
struct osmo_prim_srv_link *prim_link, osmo_prim_srv_rx_cb rx_cb);
57 void osmo_prim_srv_link_set_rx_msgb_alloc_len(
struct osmo_prim_srv_link *prim_link,
size_t alloc_len);
60 int osmo_prim_srv_send(
struct osmo_prim_srv *prim_srv,
struct msgb *msg);
62 void osmo_prim_srv_set_priv(
struct osmo_prim_srv *prim_srv,
void *priv);
63 void *osmo_prim_srv_get_priv(
const struct osmo_prim_srv *prim_srv);