// Generated by Cap'n Proto compiler, DO NOT EDIT
// source: simple_packet.capnp

#pragma once

#include <capnp/generated-header-support.h>
#include <kj/windows-sanity.h>

#ifndef CAPNP_VERSION
#error "CAPNP_VERSION is not defined, is capnp/generated-header-support.h missing?"
#elif CAPNP_VERSION != 1004000
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif


CAPNP_BEGIN_HEADER

namespace capnp {
namespace schemas {

CAPNP_DECLARE_SCHEMA(e4c0cf9a31f5524b);

}  // namespace schemas
}  // namespace capnp


struct SimplePacketType {
  SimplePacketType() = delete;

  class Reader;
  class Builder;
  class Pipeline;

  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(e4c0cf9a31f5524b, 12, 4)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};

// =======================================================================================

class SimplePacketType::Reader {
public:
  typedef SimplePacketType Reads;

  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}

  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }

#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE

  inline  ::uint8_t getSource() const;

  inline  ::uint32_t getSampleRatio() const;

  inline  ::uint32_t getSrcIp() const;

  inline  ::uint32_t getDstIp() const;

  inline bool hasSrcIpv6() const;
  inline  ::capnp::Data::Reader getSrcIpv6() const;

  inline bool hasDstIpv6() const;
  inline  ::capnp::Data::Reader getDstIpv6() const;

  inline  ::uint32_t getSrcAsn() const;

  inline  ::uint32_t getDstAsn() const;

  inline  ::uint32_t getInputInterface() const;

  inline  ::uint32_t getOutputInterface() const;

  inline  ::uint8_t getIpProtocolVersion() const;

  inline  ::uint8_t getTtl() const;

  inline  ::uint16_t getSourcePort() const;

  inline  ::uint16_t getDestinationPort() const;

  inline  ::uint32_t getProtocol() const;

  inline  ::uint64_t getLength() const;

  inline  ::uint64_t getNumberOfPackets() const;

  inline  ::uint8_t getFlags() const;

  inline bool getIpFragmented() const;

  inline bool getIpDontFragment() const;

  inline  ::int64_t getTsSec() const;

  inline  ::int64_t getTsMsec() const;

  inline  ::int32_t getPacketPayloadLength() const;

  inline  ::uint32_t getPacketPayloadFullLength() const;

  inline  ::uint8_t getPacketDirection() const;

  inline  ::uint32_t getAgentIpAddress() const;

  inline bool hasSrcMac() const;
  inline  ::capnp::Data::Reader getSrcMac() const;

  inline bool hasDstMac() const;
  inline  ::capnp::Data::Reader getDstMac() const;

  inline  ::uint64_t getIpLength() const;

private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};

class SimplePacketType::Builder {
public:
  typedef SimplePacketType Builds;

  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }

  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE

  inline  ::uint8_t getSource();
  inline void setSource( ::uint8_t value);

  inline  ::uint32_t getSampleRatio();
  inline void setSampleRatio( ::uint32_t value);

  inline  ::uint32_t getSrcIp();
  inline void setSrcIp( ::uint32_t value);

  inline  ::uint32_t getDstIp();
  inline void setDstIp( ::uint32_t value);

  inline bool hasSrcIpv6();
  inline  ::capnp::Data::Builder getSrcIpv6();
  inline void setSrcIpv6( ::capnp::Data::Reader value);
  inline  ::capnp::Data::Builder initSrcIpv6(unsigned int size);
  inline void adoptSrcIpv6(::capnp::Orphan< ::capnp::Data>&& value);
  inline ::capnp::Orphan< ::capnp::Data> disownSrcIpv6();

  inline bool hasDstIpv6();
  inline  ::capnp::Data::Builder getDstIpv6();
  inline void setDstIpv6( ::capnp::Data::Reader value);
  inline  ::capnp::Data::Builder initDstIpv6(unsigned int size);
  inline void adoptDstIpv6(::capnp::Orphan< ::capnp::Data>&& value);
  inline ::capnp::Orphan< ::capnp::Data> disownDstIpv6();

  inline  ::uint32_t getSrcAsn();
  inline void setSrcAsn( ::uint32_t value);

  inline  ::uint32_t getDstAsn();
  inline void setDstAsn( ::uint32_t value);

  inline  ::uint32_t getInputInterface();
  inline void setInputInterface( ::uint32_t value);

  inline  ::uint32_t getOutputInterface();
  inline void setOutputInterface( ::uint32_t value);

  inline  ::uint8_t getIpProtocolVersion();
  inline void setIpProtocolVersion( ::uint8_t value);

  inline  ::uint8_t getTtl();
  inline void setTtl( ::uint8_t value);

  inline  ::uint16_t getSourcePort();
  inline void setSourcePort( ::uint16_t value);

  inline  ::uint16_t getDestinationPort();
  inline void setDestinationPort( ::uint16_t value);

  inline  ::uint32_t getProtocol();
  inline void setProtocol( ::uint32_t value);

  inline  ::uint64_t getLength();
  inline void setLength( ::uint64_t value);

  inline  ::uint64_t getNumberOfPackets();
  inline void setNumberOfPackets( ::uint64_t value);

  inline  ::uint8_t getFlags();
  inline void setFlags( ::uint8_t value);

  inline bool getIpFragmented();
  inline void setIpFragmented(bool value);

  inline bool getIpDontFragment();
  inline void setIpDontFragment(bool value);

  inline  ::int64_t getTsSec();
  inline void setTsSec( ::int64_t value);

  inline  ::int64_t getTsMsec();
  inline void setTsMsec( ::int64_t value);

  inline  ::int32_t getPacketPayloadLength();
  inline void setPacketPayloadLength( ::int32_t value);

  inline  ::uint32_t getPacketPayloadFullLength();
  inline void setPacketPayloadFullLength( ::uint32_t value);

  inline  ::uint8_t getPacketDirection();
  inline void setPacketDirection( ::uint8_t value);

  inline  ::uint32_t getAgentIpAddress();
  inline void setAgentIpAddress( ::uint32_t value);

  inline bool hasSrcMac();
  inline  ::capnp::Data::Builder getSrcMac();
  inline void setSrcMac( ::capnp::Data::Reader value);
  inline  ::capnp::Data::Builder initSrcMac(unsigned int size);
  inline void adoptSrcMac(::capnp::Orphan< ::capnp::Data>&& value);
  inline ::capnp::Orphan< ::capnp::Data> disownSrcMac();

  inline bool hasDstMac();
  inline  ::capnp::Data::Builder getDstMac();
  inline void setDstMac( ::capnp::Data::Reader value);
  inline  ::capnp::Data::Builder initDstMac(unsigned int size);
  inline void adoptDstMac(::capnp::Orphan< ::capnp::Data>&& value);
  inline ::capnp::Orphan< ::capnp::Data> disownDstMac();

  inline  ::uint64_t getIpLength();
  inline void setIpLength( ::uint64_t value);

private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};

#if !CAPNP_LITE
class SimplePacketType::Pipeline {
public:
  typedef SimplePacketType Pipelines;

  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}

private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE

// =======================================================================================

inline  ::uint8_t SimplePacketType::Reader::getSource() const {
  return _reader.getDataField< ::uint8_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}

inline  ::uint8_t SimplePacketType::Builder::getSource() {
  return _builder.getDataField< ::uint8_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setSource( ::uint8_t value) {
  _builder.setDataField< ::uint8_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getSampleRatio() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getSampleRatio() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setSampleRatio( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getSrcIp() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<2>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getSrcIp() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<2>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setSrcIp( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<2>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getDstIp() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<3>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getDstIp() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<3>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setDstIp( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<3>() * ::capnp::ELEMENTS, value);
}

inline bool SimplePacketType::Reader::hasSrcIpv6() const {
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool SimplePacketType::Builder::hasSrcIpv6() {
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Data::Reader SimplePacketType::Reader::getSrcIpv6() const {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::getSrcIpv6() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void SimplePacketType::Builder::setSrcIpv6( ::capnp::Data::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::initSrcIpv6(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
inline void SimplePacketType::Builder::adoptSrcIpv6(
    ::capnp::Orphan< ::capnp::Data>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Data> SimplePacketType::Builder::disownSrcIpv6() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}

inline bool SimplePacketType::Reader::hasDstIpv6() const {
  return !_reader.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline bool SimplePacketType::Builder::hasDstIpv6() {
  return !_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Data::Reader SimplePacketType::Reader::getDstIpv6() const {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::getDstIpv6() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void SimplePacketType::Builder::setDstIpv6( ::capnp::Data::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::initDstIpv6(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), size);
}
inline void SimplePacketType::Builder::adoptDstIpv6(
    ::capnp::Orphan< ::capnp::Data>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Data> SimplePacketType::Builder::disownDstIpv6() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}

inline  ::uint32_t SimplePacketType::Reader::getSrcAsn() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<4>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getSrcAsn() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<4>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setSrcAsn( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<4>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getDstAsn() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<5>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getDstAsn() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<5>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setDstAsn( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<5>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getInputInterface() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getInputInterface() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setInputInterface( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getOutputInterface() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<7>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getOutputInterface() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<7>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setOutputInterface( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<7>() * ::capnp::ELEMENTS, value);
}

inline  ::uint8_t SimplePacketType::Reader::getIpProtocolVersion() const {
  return _reader.getDataField< ::uint8_t>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
}

inline  ::uint8_t SimplePacketType::Builder::getIpProtocolVersion() {
  return _builder.getDataField< ::uint8_t>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setIpProtocolVersion( ::uint8_t value) {
  _builder.setDataField< ::uint8_t>(
      ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
}

inline  ::uint8_t SimplePacketType::Reader::getTtl() const {
  return _reader.getDataField< ::uint8_t>(
      ::capnp::bounded<2>() * ::capnp::ELEMENTS);
}

inline  ::uint8_t SimplePacketType::Builder::getTtl() {
  return _builder.getDataField< ::uint8_t>(
      ::capnp::bounded<2>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setTtl( ::uint8_t value) {
  _builder.setDataField< ::uint8_t>(
      ::capnp::bounded<2>() * ::capnp::ELEMENTS, value);
}

inline  ::uint16_t SimplePacketType::Reader::getSourcePort() const {
  return _reader.getDataField< ::uint16_t>(
      ::capnp::bounded<16>() * ::capnp::ELEMENTS);
}

inline  ::uint16_t SimplePacketType::Builder::getSourcePort() {
  return _builder.getDataField< ::uint16_t>(
      ::capnp::bounded<16>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setSourcePort( ::uint16_t value) {
  _builder.setDataField< ::uint16_t>(
      ::capnp::bounded<16>() * ::capnp::ELEMENTS, value);
}

inline  ::uint16_t SimplePacketType::Reader::getDestinationPort() const {
  return _reader.getDataField< ::uint16_t>(
      ::capnp::bounded<17>() * ::capnp::ELEMENTS);
}

inline  ::uint16_t SimplePacketType::Builder::getDestinationPort() {
  return _builder.getDataField< ::uint16_t>(
      ::capnp::bounded<17>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setDestinationPort( ::uint16_t value) {
  _builder.setDataField< ::uint16_t>(
      ::capnp::bounded<17>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getProtocol() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<9>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getProtocol() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<9>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setProtocol( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<9>() * ::capnp::ELEMENTS, value);
}

inline  ::uint64_t SimplePacketType::Reader::getLength() const {
  return _reader.getDataField< ::uint64_t>(
      ::capnp::bounded<5>() * ::capnp::ELEMENTS);
}

inline  ::uint64_t SimplePacketType::Builder::getLength() {
  return _builder.getDataField< ::uint64_t>(
      ::capnp::bounded<5>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setLength( ::uint64_t value) {
  _builder.setDataField< ::uint64_t>(
      ::capnp::bounded<5>() * ::capnp::ELEMENTS, value);
}

inline  ::uint64_t SimplePacketType::Reader::getNumberOfPackets() const {
  return _reader.getDataField< ::uint64_t>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS);
}

inline  ::uint64_t SimplePacketType::Builder::getNumberOfPackets() {
  return _builder.getDataField< ::uint64_t>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setNumberOfPackets( ::uint64_t value) {
  _builder.setDataField< ::uint64_t>(
      ::capnp::bounded<6>() * ::capnp::ELEMENTS, value);
}

inline  ::uint8_t SimplePacketType::Reader::getFlags() const {
  return _reader.getDataField< ::uint8_t>(
      ::capnp::bounded<3>() * ::capnp::ELEMENTS);
}

inline  ::uint8_t SimplePacketType::Builder::getFlags() {
  return _builder.getDataField< ::uint8_t>(
      ::capnp::bounded<3>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setFlags( ::uint8_t value) {
  _builder.setDataField< ::uint8_t>(
      ::capnp::bounded<3>() * ::capnp::ELEMENTS, value);
}

inline bool SimplePacketType::Reader::getIpFragmented() const {
  return _reader.getDataField<bool>(
      ::capnp::bounded<448>() * ::capnp::ELEMENTS);
}

inline bool SimplePacketType::Builder::getIpFragmented() {
  return _builder.getDataField<bool>(
      ::capnp::bounded<448>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setIpFragmented(bool value) {
  _builder.setDataField<bool>(
      ::capnp::bounded<448>() * ::capnp::ELEMENTS, value);
}

inline bool SimplePacketType::Reader::getIpDontFragment() const {
  return _reader.getDataField<bool>(
      ::capnp::bounded<449>() * ::capnp::ELEMENTS);
}

inline bool SimplePacketType::Builder::getIpDontFragment() {
  return _builder.getDataField<bool>(
      ::capnp::bounded<449>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setIpDontFragment(bool value) {
  _builder.setDataField<bool>(
      ::capnp::bounded<449>() * ::capnp::ELEMENTS, value);
}

inline  ::int64_t SimplePacketType::Reader::getTsSec() const {
  return _reader.getDataField< ::int64_t>(
      ::capnp::bounded<8>() * ::capnp::ELEMENTS);
}

inline  ::int64_t SimplePacketType::Builder::getTsSec() {
  return _builder.getDataField< ::int64_t>(
      ::capnp::bounded<8>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setTsSec( ::int64_t value) {
  _builder.setDataField< ::int64_t>(
      ::capnp::bounded<8>() * ::capnp::ELEMENTS, value);
}

inline  ::int64_t SimplePacketType::Reader::getTsMsec() const {
  return _reader.getDataField< ::int64_t>(
      ::capnp::bounded<9>() * ::capnp::ELEMENTS);
}

inline  ::int64_t SimplePacketType::Builder::getTsMsec() {
  return _builder.getDataField< ::int64_t>(
      ::capnp::bounded<9>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setTsMsec( ::int64_t value) {
  _builder.setDataField< ::int64_t>(
      ::capnp::bounded<9>() * ::capnp::ELEMENTS, value);
}

inline  ::int32_t SimplePacketType::Reader::getPacketPayloadLength() const {
  return _reader.getDataField< ::int32_t>(
      ::capnp::bounded<15>() * ::capnp::ELEMENTS);
}

inline  ::int32_t SimplePacketType::Builder::getPacketPayloadLength() {
  return _builder.getDataField< ::int32_t>(
      ::capnp::bounded<15>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setPacketPayloadLength( ::int32_t value) {
  _builder.setDataField< ::int32_t>(
      ::capnp::bounded<15>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getPacketPayloadFullLength() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<20>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getPacketPayloadFullLength() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<20>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setPacketPayloadFullLength( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<20>() * ::capnp::ELEMENTS, value);
}

inline  ::uint8_t SimplePacketType::Reader::getPacketDirection() const {
  return _reader.getDataField< ::uint8_t>(
      ::capnp::bounded<57>() * ::capnp::ELEMENTS);
}

inline  ::uint8_t SimplePacketType::Builder::getPacketDirection() {
  return _builder.getDataField< ::uint8_t>(
      ::capnp::bounded<57>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setPacketDirection( ::uint8_t value) {
  _builder.setDataField< ::uint8_t>(
      ::capnp::bounded<57>() * ::capnp::ELEMENTS, value);
}

inline  ::uint32_t SimplePacketType::Reader::getAgentIpAddress() const {
  return _reader.getDataField< ::uint32_t>(
      ::capnp::bounded<21>() * ::capnp::ELEMENTS);
}

inline  ::uint32_t SimplePacketType::Builder::getAgentIpAddress() {
  return _builder.getDataField< ::uint32_t>(
      ::capnp::bounded<21>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setAgentIpAddress( ::uint32_t value) {
  _builder.setDataField< ::uint32_t>(
      ::capnp::bounded<21>() * ::capnp::ELEMENTS, value);
}

inline bool SimplePacketType::Reader::hasSrcMac() const {
  return !_reader.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS).isNull();
}
inline bool SimplePacketType::Builder::hasSrcMac() {
  return !_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Data::Reader SimplePacketType::Reader::getSrcMac() const {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::getSrcMac() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}
inline void SimplePacketType::Builder::setSrcMac( ::capnp::Data::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::initSrcMac(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS), size);
}
inline void SimplePacketType::Builder::adoptSrcMac(
    ::capnp::Orphan< ::capnp::Data>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Data> SimplePacketType::Builder::disownSrcMac() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}

inline bool SimplePacketType::Reader::hasDstMac() const {
  return !_reader.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline bool SimplePacketType::Builder::hasDstMac() {
  return !_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Data::Reader SimplePacketType::Reader::getDstMac() const {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::getDstMac() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline void SimplePacketType::Builder::setDstMac( ::capnp::Data::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Data::Builder SimplePacketType::Builder::initDstMac(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), size);
}
inline void SimplePacketType::Builder::adoptDstMac(
    ::capnp::Orphan< ::capnp::Data>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Data> SimplePacketType::Builder::disownDstMac() {
  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}

inline  ::uint64_t SimplePacketType::Reader::getIpLength() const {
  return _reader.getDataField< ::uint64_t>(
      ::capnp::bounded<11>() * ::capnp::ELEMENTS);
}

inline  ::uint64_t SimplePacketType::Builder::getIpLength() {
  return _builder.getDataField< ::uint64_t>(
      ::capnp::bounded<11>() * ::capnp::ELEMENTS);
}
inline void SimplePacketType::Builder::setIpLength( ::uint64_t value) {
  _builder.setDataField< ::uint64_t>(
      ::capnp::bounded<11>() * ::capnp::ELEMENTS, value);
}


CAPNP_END_HEADER

