On Thu, Mar 10, 2016 at 11:22:19PM +0100, Neels Hofmeyr wrote:
- msg_type = hdr48->msg_type & 0xbf;
- proto = hdr48->proto_discr & GSM48_PDISC_MASK;
- msg_type = hdr48->msg_type & GSM48_MT_MM_MSG_TYPE_MASK;
maybe it is a good idea to provide an (inline?) function for this, which determines the mask based on the rules of TS 24.007 (see my other mail).
Something like
msg_type = gsm48hdr_get_msgtype(hdr48);
which would then use the proper mask based on hdr48->proto_discr and the rules from 24.007. This way the user (developer) cannot really do anything wrong and the correct mask is chosen. Similarly, gsm48hdr_get_proto(hdr48) could be used for the proto_discr.
Regards, Harald