aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/gsm0808.h
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2018-11-26 12:35:40 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2018-11-26 12:35:40 +0100
commitd245b43195b9969952b9b1769fb472e20d2c367f (patch)
tree34e421ca97c9fd08b16b5c4631166aa0342fe7e9 /include/osmocom/gsm/gsm0808.h
parent12299aa5edf61f12683d8217f284ed4fbf73e205 (diff)
parent7ab5fc1f3b373fadc644448442b985c12597f8f0 (diff)
Merge remote-tracking branch 'origin/master' into daniel/onwaves
Diffstat (limited to 'include/osmocom/gsm/gsm0808.h')
-rw-r--r--include/osmocom/gsm/gsm0808.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h
index 5ae0af83..9b19d691 100644
--- a/include/osmocom/gsm/gsm0808.h
+++ b/include/osmocom/gsm/gsm0808.h
@@ -45,12 +45,14 @@ struct msgb *gsm0808_create_layer3_2(const struct msgb *msg_l3, const struct osm
const struct gsm0808_speech_codec_list *scl);
struct msgb *gsm0808_create_reset(void);
struct msgb *gsm0808_create_reset_ack(void);
-struct msgb *gsm0808_create_clear_command(uint8_t reason);
+struct msgb *gsm0808_create_clear_command(uint8_t cause);
struct msgb *gsm0808_create_clear_complete(void);
struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei,
const uint8_t *cipher_response_mode);
struct msgb *gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id);
-struct msgb *gsm0808_create_cipher_reject(uint8_t cause);
+struct msgb *gsm0808_create_cipher_reject(enum gsm0808_cause cause);
+struct msgb *gsm0808_create_cipher_reject_ext(enum gsm0808_cause_class class, uint8_t ext);
+struct msgb *gsm0808_create_classmark_request();
struct msgb *gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len,
const uint8_t *cm3, uint8_t cm3_len);
struct msgb *gsm0808_create_sapi_reject(uint8_t link_id);
@@ -172,9 +174,13 @@ void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id);
const struct tlv_definition *gsm0808_att_tlvdef(void);
+/*! Parse BSSAP TLV structure using \ref tlv_parse */
+#define osmo_bssap_tlv_parse(dec, buf, len) tlv_parse(dec, gsm0808_att_tlvdef(), buf, len, 0, 0)
+
const char *gsm0808_bssmap_name(uint8_t msg_type);
const char *gsm0808_bssap_name(uint8_t msg_type);
-const char *gsm0808_cause_name(uint8_t cause);
+const char *gsm0808_cause_name(enum gsm0808_cause cause);
+const char *gsm0808_cause_class_name(enum gsm0808_cause_class class);
extern const struct value_string gsm0808_lcls_config_names[];
extern const struct value_string gsm0808_lcls_control_names[];