From 5e924a31a0b6c73f297a61a1e4cb8b40b6f2946c Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 23 Jun 2011 15:04:47 +0200 Subject: introduce GSM primitive definitions The idea here is to use the osmocom core primitive code ot abstract out primitives for inter-layer comunication in GSM. --- include/osmocom/core/prim.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include/osmocom/core/prim.h') diff --git a/include/osmocom/core/prim.h b/include/osmocom/core/prim.h index 5494f3c3..e892c62c 100644 --- a/include/osmocom/core/prim.h +++ b/include/osmocom/core/prim.h @@ -2,6 +2,7 @@ #define OSMO_PRIMITIVE_H #include +#include enum osmo_prim_operation { PRIM_OP_REQUEST, @@ -10,6 +11,11 @@ enum osmo_prim_operation { PRIM_OP_CONFIRM, }; +#define _SAP_GSM_SHIFT 24 + +#define _SAP_GSM_BASE (0x01 << _SAP_GSM_SHIFT) +#define _SAP_TETRA_BASE (0x02 << _SAP_GSM_SHIFT) + struct osmo_prim_hdr { unsigned int sap; unsigned int primitive; @@ -17,4 +23,16 @@ struct osmo_prim_hdr { struct msgb *msg; /* message containing associated data */ }; +static inline void +osmo_prim_init(struct osmo_prim_hdr *oph, unsigned int sap, + unsigned int primitive, enum osmo_prim_operation operation, + struct msgb *msg) +{ + oph->sap = sap; + oph->primitive = primitive; + oph->operation = operation; + oph->msg = msg; +} + +typedef int (*osmo_prim_cb)(struct osmo_prim_hdr *oph, void *ctx); #endif -- cgit v1.2.3