// This file was automatically generated by bifcl from types.bif.

#pragma once

// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum { enum rpc_status {
	RPC_SUCCESS,
	RPC_PROG_UNAVAIL,
	RPC_PROG_MISMATCH,
	RPC_PROC_UNAVAIL,
	RPC_GARBAGE_ARGS,
	RPC_SYSTEM_ERR,
	RPC_TIMEOUT,
	RPC_VERS_MISMATCH,
	RPC_AUTH_ERROR,
	RPC_UNKNOWN_ERROR,
}; }
namespace zeek::BifType::Enum { extern zeek::IntrusivePtr<zeek::EnumType> rpc_status; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::MOUNT3 { enum proc_t {
	PROC_NULL = 0,
	PROC_MNT = 1,
	PROC_DUMP = 2,
	PROC_UMNT = 3,
	PROC_UMNT_ALL = 4,
	PROC_EXPORT = 5,
	PROC_END_OF_PROCS = 6,
}; }
namespace zeek::BifType::Enum::MOUNT3 { extern zeek::IntrusivePtr<zeek::EnumType> proc_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::MOUNT3 { enum status_t {
	MNT3_OK = 0,
	MNT3ERR_PERM = 1,
	MNT3ERR_NOENT = 2,
	MNT3ERR_IO = 5,
	MNT3ERR_ACCES = 13,
	MNT3ERR_NOTDIR = 20,
	MNT3ERR_INVAL = 22,
	MNT3ERR_NAMETOOLONG = 63,
	MNT3ERR_NOTSUPP = 10004,
	MNT3ERR_SERVERFAULT = 10006,
	MOUNT3ERR_UNKNOWN = 0xffffffff,
}; }
namespace zeek::BifType::Enum::MOUNT3 { extern zeek::IntrusivePtr<zeek::EnumType> status_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::MOUNT3 { enum auth_flavor_t {
	AUTH_NULL = 0,
	AUTH_UNIX = 1,
	AUTH_SHORT = 2,
	AUTH_DES = 3,
}; }
namespace zeek::BifType::Enum::MOUNT3 { extern zeek::IntrusivePtr<zeek::EnumType> auth_flavor_t; }
namespace zeek::BifType::Record::MOUNT3 { extern zeek::IntrusivePtr<zeek::RecordType> info_t; }
namespace zeek::BifType::Record::MOUNT3 { extern zeek::IntrusivePtr<zeek::RecordType> mnt_reply_t; }
namespace zeek::BifType::Record::MOUNT3 { extern zeek::IntrusivePtr<zeek::RecordType> dirmntargs_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::NFS3 { enum proc_t {
	PROC_NULL = 0,
	PROC_GETATTR = 1,
	PROC_SETATTR = 2,
	PROC_LOOKUP = 3,
	PROC_ACCESS = 4,
	PROC_READLINK = 5,
	PROC_READ = 6,
	PROC_WRITE = 7,
	PROC_CREATE = 8,
	PROC_MKDIR = 9,
	PROC_SYMLINK = 10,
	PROC_MKNOD = 11,
	PROC_REMOVE = 12,
	PROC_RMDIR = 13,
	PROC_RENAME = 14,
	PROC_LINK = 15,
	PROC_READDIR = 16,
	PROC_READDIRPLUS = 17,
	PROC_FSSTAT = 18,
	PROC_FSINFO = 19,
	PROC_PATHCONF = 20,
	PROC_COMMIT = 21,
	PROC_END_OF_PROCS = 22,
}; }
namespace zeek::BifType::Enum::NFS3 { extern zeek::IntrusivePtr<zeek::EnumType> proc_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::NFS3 { enum status_t {
	NFS3ERR_OK = 0,
	NFS3ERR_PERM = 1,
	NFS3ERR_NOENT = 2,
	NFS3ERR_IO = 5,
	NFS3ERR_NXIO = 6,
	NFS3ERR_ACCES = 13,
	NFS3ERR_EXIST = 17,
	NFS3ERR_XDEV = 18,
	NFS3ERR_NODEV = 19,
	NFS3ERR_NOTDIR = 20,
	NFS3ERR_ISDIR = 21,
	NFS3ERR_INVAL = 22,
	NFS3ERR_FBIG = 27,
	NFS3ERR_NOSPC = 28,
	NFS3ERR_ROFS = 30,
	NFS3ERR_MLINK = 31,
	NFS3ERR_NAMETOOLONG = 63,
	NFS3ERR_NOTEMPTY = 66,
	NFS3ERR_DQUOT = 69,
	NFS3ERR_STALE = 70,
	NFS3ERR_REMOTE = 71,
	NFS3ERR_BADHANDLE = 10001,
	NFS3ERR_NOT_SYNC = 10002,
	NFS3ERR_BAD_COOKIE = 10003,
	NFS3ERR_NOTSUPP = 10004,
	NFS3ERR_TOOSMALL = 10005,
	NFS3ERR_SERVERFAULT = 10006,
	NFS3ERR_BADTYPE = 10007,
	NFS3ERR_JUKEBOX = 10008,
	NFS3ERR_UNKNOWN = 0xffffffff,
}; }
namespace zeek::BifType::Enum::NFS3 { extern zeek::IntrusivePtr<zeek::EnumType> status_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::NFS3 { enum time_how_t {
	DONT_CHANGE = 0,
	SET_TO_SERVER_TIME = 1,
	SET_TO_CLIENT_TIME = 2,
}; }
namespace zeek::BifType::Enum::NFS3 { extern zeek::IntrusivePtr<zeek::EnumType> time_how_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::NFS3 { enum file_type_t {
	FTYPE_REG = 1,
	FTYPE_DIR = 2,
	FTYPE_BLK = 3,
	FTYPE_CHR = 4,
	FTYPE_LNK = 5,
	FTYPE_SOCK = 6,
	FTYPE_FIFO = 7,
}; }
namespace zeek::BifType::Enum::NFS3 { extern zeek::IntrusivePtr<zeek::EnumType> file_type_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::NFS3 { enum stable_how_t {
	UNSTABLE = 0,
	DATA_SYNC = 1,
	FILE_SYNC = 2,
}; }
namespace zeek::BifType::Enum::NFS3 { extern zeek::IntrusivePtr<zeek::EnumType> stable_how_t; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::NFS3 { enum createmode_t {
	UNCHECKED = 0,
	GUARDED = 1,
	EXCLUSIVE = 2,
}; }
namespace zeek::BifType::Enum::NFS3 { extern zeek::IntrusivePtr<zeek::EnumType> createmode_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> info_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> fattr_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> sattr_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> symlinkdata_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> diropargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> symlinkargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> sattrargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> linkargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> renameopargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> sattr_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> lookup_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> readargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> read_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> readlink_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> link_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> writeargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> wcc_attr_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> write_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> newobj_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> delobj_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> renameobj_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> readdirargs_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> direntry_t; }
namespace zeek::BifType::Vector::NFS3 { extern zeek::IntrusivePtr<zeek::VectorType> direntry_vec_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> readdir_reply_t; }
namespace zeek::BifType::Record::NFS3 { extern zeek::IntrusivePtr<zeek::RecordType> fsstat_t; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> ModbusHeaders; }
namespace zeek::BifType::Vector { extern zeek::IntrusivePtr<zeek::VectorType> ModbusCoils; }
namespace zeek::BifType::Vector { extern zeek::IntrusivePtr<zeek::VectorType> ModbusRegisters; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> ModbusFileRecordRequest; }
namespace zeek::BifType::Vector { extern zeek::IntrusivePtr<zeek::VectorType> ModbusFileRecordRequests; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> ModbusFileRecordResponse; }
namespace zeek::BifType::Vector { extern zeek::IntrusivePtr<zeek::VectorType> ModbusFileRecordResponses; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> ModbusFileReference; }
namespace zeek::BifType::Vector { extern zeek::IntrusivePtr<zeek::VectorType> ModbusFileReferences; }
namespace zeek::BifType::Record::PE { extern zeek::IntrusivePtr<zeek::RecordType> DOSHeader; }
namespace zeek::BifType::Record::PE { extern zeek::IntrusivePtr<zeek::RecordType> FileHeader; }
namespace zeek::BifType::Record::PE { extern zeek::IntrusivePtr<zeek::RecordType> OptionalHeader; }
namespace zeek::BifType::Record::PE { extern zeek::IntrusivePtr<zeek::RecordType> SectionHeader; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::Tunnel { enum Type {
	NONE,
	IP,
	AYIYA,
	TEREDO,
	SOCKS,
	GTPv1,
	HTTP,
	GRE,
	VXLAN,
	GENEVE,
}; }
namespace zeek::BifType::Enum::Tunnel { extern zeek::IntrusivePtr<zeek::EnumType> Type; }
namespace zeek::BifType::Record::Tunnel { extern zeek::IntrusivePtr<zeek::RecordType> EncapsulatingConn; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum { enum link_encap {
	LINK_ETHERNET,
	LINK_UNKNOWN,
}; }
namespace zeek::BifType::Enum { extern zeek::IntrusivePtr<zeek::EnumType> link_encap; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum { enum layer3_proto {
	L3_IPV4,
	L3_IPV6,
	L3_ARP,
	L3_UNKNOWN,
}; }
namespace zeek::BifType::Enum { extern zeek::IntrusivePtr<zeek::EnumType> layer3_proto; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtpv1_hdr; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_create_pdp_ctx_request_elements; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_create_pdp_ctx_response_elements; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_update_pdp_ctx_request_elements; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_update_pdp_ctx_response_elements; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_delete_pdp_ctx_request_elements; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_delete_pdp_ctx_response_elements; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_end_user_addr; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_rai; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_qos_profile; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_private_extension; }
namespace zeek::BifType::Record { extern zeek::IntrusivePtr<zeek::RecordType> gtp_gsn_addr; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum { enum TableChange {
	TABLE_ELEMENT_NEW,
	TABLE_ELEMENT_CHANGED,
	TABLE_ELEMENT_REMOVED,
	TABLE_ELEMENT_EXPIRED,
}; }
namespace zeek::BifType::Enum { extern zeek::IntrusivePtr<zeek::EnumType> TableChange; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::Reporter { enum Level {
	INFO = 0,
	WARNING = 1,
	ERROR = 2,
}; }
namespace zeek::BifType::Enum::Reporter { extern zeek::IntrusivePtr<zeek::EnumType> Level; }
