예제 #1
0
unsigned DataRLCPDU::LI() const
{
	size_t base = LIBase();
	size_t rp = base+8;
	unsigned val = 0;
	while (peekField(rp-1,1)==1) {
		val = (val<<7) + peekField(rp-8,7);
		rp += 8;
	}
	return val;
}
예제 #2
0
size_t DataRLCPDU::LILen() const
{
	size_t base = LIBase();
	size_t rp = base+8;
	while (peekField(rp-1,1)==1) { rp += 8; }
	return rp - base;
}
예제 #3
0
// 25.321 Table 9.2.1.2 Coding of the Target Channel Type Field on FACH for FDD
// This table is needed by the UE to decode the TCTF, but not by UTRAN except
// for humans to inspect the PDU.
size_t FACH_MACPDU::TCTFSize() const
{
	static const size_t sz[16] = {
		2, 2, 2, 2,	// 00XX for BCCH
		8, 8, 4, 4,	// 010X, 0110, 0111
		8, 8, 8, 8,	// 10XX
		2, 2, 2, 2	// 11XX DTCH/DCCH over FACH
	};

	// 3GPP 25.321 9.2.1, Table 9.2.1.2.
	const unsigned first4 = peekField(TCTFBase(),4);
	return sz[first4];
}
예제 #4
0
field_t		Packet_v1::peekRequestId(Packet::buffer_t const &buffer)
{
  return peekField(buffer, PROTOV1_REQUESTID_OFF, PROTOV1_REQUESTID_SIZE);
}
예제 #5
0
field_t		Packet_v1::peekComponentId(Packet::buffer_t const &buffer)
{
  return peekField(buffer, PROTOV1_COMPONENTID_OFF, PROTOV1_COMPONENTID_SIZE);
}