From d04db9d90758d2abd572336942fd7e9246d41a22 Mon Sep 17 00:00:00 2001 From: Daniel Willmann Date: Wed, 16 Mar 2016 10:35:09 +0100 Subject: libiu: Replace RAB assignment response callback with a general one The new iu event callback will now be called for RAB assignment response, IU release and security mode complete --- openbsc/include/openbsc/iu.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'openbsc/include') diff --git a/openbsc/include/openbsc/iu.h b/openbsc/include/openbsc/iu.h index d85d9a871..4d35b2076 100644 --- a/openbsc/include/openbsc/iu.h +++ b/openbsc/include/openbsc/iu.h @@ -12,19 +12,28 @@ struct ue_conn_ctx { uint32_t conn_id; }; +enum iu_event_type { + IU_EVENT_RAB_ASSIGN, + IU_EVENT_IU_RELEASE, + IU_EVENT_SECURITY_MODE_COMPLETE, +}; + /* Implementations of iu_recv_cb_t shall find the ue_conn_ctx in msg->dst. */ typedef int (* iu_recv_cb_t )(struct msgb *msg, struct gprs_ra_id *ra_id, /* TODO is ra_id only used for gprs? ^ */ uint16_t *sai); +typedef int (* iu_event_cb_t )(struct ue_conn_ctx *ue_ctx, enum iu_event_type type, + void *data); + typedef int (* iu_rab_ass_resp_cb_t )(struct ue_conn_ctx *ue_ctx, uint8_t rab_id, struct RANAP_RAB_SetupOrModifiedItemIEs_s *setup_ies); int iu_init(void *ctx, const char *listen_addr, uint16_t listen_port, - iu_recv_cb_t iu_recv_cb, iu_rab_ass_resp_cb_t ui_rab_ass_resp_cb); + iu_recv_cb_t iu_recv_cb, iu_event_cb_t iu_event_cb); int iu_tx(struct msgb *msg, uint8_t sapi); int iu_rab_act_cs(struct ue_conn_ctx *ue_ctx, uint32_t rtp_ip, uint16_t rtp_port); -int iu_rab_act_ps(struct sgsn_pdp_ctx *pdp); +int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp); int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id); -- cgit v1.2.3