mirror of https://gerrit.osmocom.org/libosmocore
04.08: add inline funcs for transaction id bits
Various users of gsm48_hdr apply the same hardcoded shifts/bitmasks to obtain the transaction ID encoded in the upper nibble of the protocol discriminator. Centralize. Patch for openbsc.git will follow.
This commit is contained in:
parent
c656faed12
commit
da7bf4d55a
|
@ -763,6 +763,25 @@ static inline uint8_t gsm48_hdr_pdisc(const struct gsm48_hdr *hdr)
|
|||
return pdisc;
|
||||
}
|
||||
|
||||
static inline uint8_t gsm48_hdr_trans_id(const struct gsm48_hdr *hdr)
|
||||
{
|
||||
/*
|
||||
* 3GPP TS 24.007 version 12.0.0 Release 12,
|
||||
* 11.2.3.1.3 Transaction identifier
|
||||
*/
|
||||
return (hdr->proto_discr & 0xf0) >> 4;
|
||||
}
|
||||
|
||||
static inline uint8_t gsm48_hdr_trans_id_flip_ti(const struct gsm48_hdr *hdr)
|
||||
{
|
||||
return gsm48_hdr_trans_id(hdr) ^ 0x08;
|
||||
}
|
||||
|
||||
static inline uint8_t gsm48_hdr_trans_id_no_ti(const struct gsm48_hdr *hdr)
|
||||
{
|
||||
return gsm48_hdr_trans_id(hdr) & 0x07;
|
||||
}
|
||||
|
||||
static inline uint8_t gsm48_hdr_msg_type_r98(const struct gsm48_hdr *hdr)
|
||||
{
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue