blob: 28467d76857f522565883a7322fca9a12e9baee4 [file] [log] [blame]
Harald Welte76a06f72010-05-18 11:07:34 +02001#ifndef _GPRS_GMM_H
2#define _GPRS_GMM_H
3
Pablo Neira Ayusodd5fff42011-03-22 16:47:59 +01004#include <osmocom/core/msgb.h>
Harald Welte75871c72010-06-01 11:53:01 +02005#include <openbsc/gprs_sgsn.h>
6
Max4bc28212016-07-06 11:59:18 +02007#include <stdbool.h>
8
Harald Welte94ecef32010-12-24 21:13:26 +01009int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause);
Harald Welte76a06f72010-05-18 11:07:34 +020010int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid,
11 uint8_t cause, uint8_t pco_len, uint8_t *pco_v);
Harald Welte76a06f72010-05-18 11:07:34 +020012int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp);
Harald Welteeb471c92010-05-18 14:32:29 +020013int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp);
14
Max4bc28212016-07-06 11:59:18 +020015int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme,
16 bool drop_cipherable);
Daniel Willmann945f6082016-05-21 17:35:57 +020017int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id,
18 uint16_t *sai);
Jacob Erlbeck6e15b732014-10-31 12:20:49 +010019int gsm0408_gprs_force_reattach(struct sgsn_mm_ctx *mmctx);
Max6d999582016-07-06 15:57:01 +020020int gsm0408_gprs_force_reattach_oldmsg(struct msgb *msg,
21 struct gprs_llc_llme *llme);
Jacob Erlbeckc64af7a2014-10-24 18:09:54 +020022void gsm0408_gprs_access_granted(struct sgsn_mm_ctx *mmctx);
Jacob Erlbeck41010082015-01-05 17:51:17 +010023void gsm0408_gprs_access_denied(struct sgsn_mm_ctx *mmctx, int gmm_cause);
24void gsm0408_gprs_access_cancelled(struct sgsn_mm_ctx *mmctx, int gmm_cause);
Jacob Erlbeckac336982014-12-02 09:47:26 +010025void gsm0408_gprs_authenticate(struct sgsn_mm_ctx *mmctx);
Harald Welte76a06f72010-05-18 11:07:34 +020026
Harald Welte50264822010-06-09 11:22:47 +020027int gprs_gmm_rx_suspend(struct gprs_ra_id *raid, uint32_t tlli);
28int gprs_gmm_rx_resume(struct gprs_ra_id *raid, uint32_t tlli,
29 uint8_t suspend_ref);
30
Jacob Erlbecke6140d02015-01-23 11:33:51 +010031time_t gprs_max_time_to_idle(void);
32
Harald Welte76a06f72010-05-18 11:07:34 +020033#endif /* _GPRS_GMM_H */