aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gprs_sndcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include/openbsc/gprs_sndcp.h')
-rw-r--r--openbsc/include/openbsc/gprs_sndcp.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gprs_sndcp.h b/openbsc/include/openbsc/gprs_sndcp.h
index fef871aa1..d970240e4 100644
--- a/openbsc/include/openbsc/gprs_sndcp.h
+++ b/openbsc/include/openbsc/gprs_sndcp.h
@@ -21,6 +21,16 @@ struct defrag_state {
struct llist_head frag_list;
struct osmo_timer_list timer;
+
+ /* Holds state to know which compression mode is used
+ * when the packet is re-assembled */
+ uint8_t pcomp;
+ uint8_t dcomp;
+
+ /* Holds the pointers to the compression entity list
+ * that is used when the re-assembled packet is decompressed */
+ struct llist_head *proto;
+ struct llist_head *data;
};
/* See 6.7.1.2 Reassembly */
@@ -50,4 +60,20 @@ struct gprs_sndcp_entity {
extern struct llist_head gprs_sndcp_entities;
+/* Set of SNDCP-XID negotiation (See also: TS 144 065,
+ * Section 6.8 XID parameter negotiation) */
+int sndcp_sn_xid_req(struct gprs_llc_lle *lle, uint8_t nsapi);
+
+/* Process SNDCP-XID indication (See also: TS 144 065,
+ * Section 6.8 XID parameter negotiation) */
+int sndcp_sn_xid_ind(struct gprs_llc_xid_field *xid_field_indication,
+ struct gprs_llc_xid_field *xid_field_response,
+ struct gprs_llc_lle *lle);
+
+/* Process SNDCP-XID indication
+ * (See also: TS 144 065, Section 6.8 XID parameter negotiation) */
+int sndcp_sn_xid_conf(struct gprs_llc_xid_field *xid_field_conf,
+ struct gprs_llc_xid_field *xid_field_request,
+ struct gprs_llc_lle *lle);
+
#endif /* INT_SNDCP_H */