// This file was automatically generated by bifcl from /opt/local/var/macports/build/zeek-c10ab06c/work/zeek-8.0.7/src/broker/comm.bif (alternative mode).

#pragma once

#if defined(ZEEK_IN_NETVAR) || ! defined(_opt_local_var_macports_build_zeek_c10ab06c_work_build_src_broker_comm_bif)
#ifndef ZEEK_IN_NETVAR
#ifndef _opt_local_var_macports_build_zeek_c10ab06c_work_build_src_broker_comm_bif
#define _opt_local_var_macports_build_zeek_c10ab06c_work_build_src_broker_comm_bif
#include "zeek/zeek-bif.h"
#endif
#endif

namespace Broker { extern zeek::EventHandlerPtr internal_log_event;  }
namespace zeek::BifEvent::Broker { void enqueue_internal_log_event(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> lvl, zeek::IntrusivePtr<zeek::StringVal> id, zeek::IntrusivePtr<zeek::StringVal> description);  }
namespace Broker { extern zeek::EventHandlerPtr peer_added;  }
namespace zeek::BifEvent::Broker { void enqueue_peer_added(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> endpoint, zeek::IntrusivePtr<zeek::StringVal> msg);  }
namespace Broker { extern zeek::EventHandlerPtr peer_removed;  }
namespace zeek::BifEvent::Broker { void enqueue_peer_removed(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> endpoint, zeek::IntrusivePtr<zeek::StringVal> msg);  }
namespace Broker { extern zeek::EventHandlerPtr peer_lost;  }
namespace zeek::BifEvent::Broker { void enqueue_peer_lost(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> endpoint, zeek::IntrusivePtr<zeek::StringVal> msg);  }
namespace Broker { extern zeek::EventHandlerPtr endpoint_discovered;  }
namespace zeek::BifEvent::Broker { void enqueue_endpoint_discovered(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> endpoint, zeek::IntrusivePtr<zeek::StringVal> msg);  }
namespace Broker { extern zeek::EventHandlerPtr endpoint_unreachable;  }
namespace zeek::BifEvent::Broker { void enqueue_endpoint_unreachable(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> endpoint, zeek::IntrusivePtr<zeek::StringVal> msg);  }
namespace Broker { extern zeek::EventHandlerPtr status;  }
namespace zeek::BifEvent::Broker { void enqueue_status(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> endpoint, zeek::IntrusivePtr<zeek::StringVal> msg);  }
namespace Broker { extern zeek::EventHandlerPtr error;  }
namespace zeek::BifEvent::Broker { void enqueue_error(zeek::analyzer::Analyzer* analyzer, zeek::IntrusivePtr<zeek::Val> code, zeek::IntrusivePtr<zeek::StringVal> msg);  }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::Broker { enum ErrorCode {
	NO_ERROR = 0,
	UNSPECIFIED = 1,
	PEER_INCOMPATIBLE = 2,
	PEER_INVALID = 3,
	PEER_UNAVAILABLE = 4,
	PEER_DISCONNECT_DURING_HANDSHAKE = 5,
	PEER_TIMEOUT = 6,
	MASTER_EXISTS = 7,
	NO_SUCH_MASTER = 8,
	NO_SUCH_KEY = 9,
	REQUEST_TIMEOUT = 10,
	TYPE_CLASH = 11,
	INVALID_DATA = 12,
	BACKEND_FAILURE = 13,
	STALE_DATA = 14,
	CANNOT_OPEN_FILE = 15,
	CANNOT_WRITE_FILE = 16,
	INVALID_TOPIC_KEY = 17,
	END_OF_FILE = 18,
	INVALID_TAG = 19,
	INVALID_STATUS = 20,
	CAF_ERROR = 100,
}; }
namespace zeek::BifType::Enum::Broker { extern zeek::IntrusivePtr<zeek::EnumType> ErrorCode; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::Broker { enum PeerStatus {
	INITIALIZING,
	CONNECTING,
	CONNECTED,
	PEERED,
	DISCONNECTED,
	RECONNECTING,
}; }
namespace zeek::BifType::Enum::Broker { extern zeek::IntrusivePtr<zeek::EnumType> PeerStatus; }
// NOLINTNEXTLINE(performance-enum-size)
namespace BifEnum::Broker { enum BrokerProtocol {
	NATIVE,
	WEBSOCKET,
}; }
namespace zeek::BifType::Enum::Broker { extern zeek::IntrusivePtr<zeek::EnumType> BrokerProtocol; }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __listen_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __peer_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __peer_no_retry_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __unpeer_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __is_outbound_peering_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __peers_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __node_id_bif(zeek::detail::Frame* frame, const zeek::Args*); }
namespace zeek::BifFunc::Broker { extern zeek::ValPtr __peering_stats_bif(zeek::detail::Frame* frame, const zeek::Args*); }

#endif
