diff options
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r-- | openbsc/include/openbsc/iu.h | 13 |
1 files changed, 11 insertions, 2 deletions
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); |