lokinet/llarp/iwp/frame_header.cpp

49 lines
544 B
C++
Raw Normal View History

#include "llarp/iwp/frame_header.hpp"
2018-07-24 07:18:35 +00:00
#include "llarp/endian.h"
frame_header::frame_header(byte_t *buf) : ptr(buf)
{
}
byte_t *
frame_header::data()
{
return ptr + 6;
}
uint8_t &
frame_header::version()
{
return ptr[0];
}
uint8_t &
frame_header::msgtype()
{
return ptr[1];
}
uint16_t
frame_header::size() const
{
2018-07-24 07:18:35 +00:00
return bufbe16toh(ptr + 2);
}
void
frame_header::setsize(uint16_t sz)
{
2018-07-24 07:18:35 +00:00
htobe16buf(ptr + 2, sz);
}
uint8_t &
frame_header::flags()
{
return ptr[5];
}
void
frame_header::setflag(header_flag f)
{
ptr[5] |= f;
}