// This file was automatically generated by bifcl from /usr/obj/ports/zeek-8.2.0/zeek-8.2.0/src/analyzer/protocol/bittorrent/events.bif (plugin mode).

#pragma once

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

extern zeek::EventHandlerPtr bittorrent_peer_handshake; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_handshake(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek::IntrusivePtr<zeek::StringVal> reserved, zeek::IntrusivePtr<zeek::StringVal> info_hash, zeek::IntrusivePtr<zeek::StringVal> peer_id);  }
extern zeek::EventHandlerPtr bittorrent_peer_keep_alive; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_keep_alive(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig);  }
extern zeek::EventHandlerPtr bittorrent_peer_choke; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_choke(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig);  }
extern zeek::EventHandlerPtr bittorrent_peer_unchoke; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_unchoke(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig);  }
extern zeek::EventHandlerPtr bittorrent_peer_interested; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_interested(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig);  }
extern zeek::EventHandlerPtr bittorrent_peer_not_interested; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_not_interested(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig);  }
extern zeek::EventHandlerPtr bittorrent_peer_have; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_have(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek_uint_t piece_index);  }
extern zeek::EventHandlerPtr bittorrent_peer_bitfield; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_bitfield(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek::IntrusivePtr<zeek::StringVal> bitfield);  }
extern zeek::EventHandlerPtr bittorrent_peer_request; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek_uint_t index, zeek_uint_t begin, zeek_uint_t length);  }
extern zeek::EventHandlerPtr bittorrent_peer_piece; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_piece(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek_uint_t index, zeek_uint_t begin, zeek_uint_t piece_length);  }
extern zeek::EventHandlerPtr bittorrent_peer_cancel; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_cancel(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek_uint_t index, zeek_uint_t begin, zeek_uint_t length);  }
extern zeek::EventHandlerPtr bittorrent_peer_port; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_port(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek::IntrusivePtr<zeek::PortVal> listen_port);  }
extern zeek::EventHandlerPtr bittorrent_peer_unknown; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_unknown(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek_uint_t message_id, zeek::IntrusivePtr<zeek::StringVal> data);  }
extern zeek::EventHandlerPtr bittorrent_peer_weird; 
namespace zeek::BifEvent { void enqueue_bittorrent_peer_weird(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek::IntrusivePtr<zeek::StringVal> msg);  }
extern zeek::EventHandlerPtr bt_tracker_request; 
namespace zeek::BifEvent { void enqueue_bt_tracker_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::StringVal> uri, zeek::IntrusivePtr<zeek::Val> headers);  }
extern zeek::EventHandlerPtr bt_tracker_response; 
namespace zeek::BifEvent { void enqueue_bt_tracker_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek_uint_t status, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> peers, zeek::IntrusivePtr<zeek::Val> benc);  }
extern zeek::EventHandlerPtr bt_tracker_response_not_ok; 
namespace zeek::BifEvent { void enqueue_bt_tracker_response_not_ok(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek_uint_t status, zeek::IntrusivePtr<zeek::Val> headers);  }
extern zeek::EventHandlerPtr bt_tracker_weird; 
namespace zeek::BifEvent { void enqueue_bt_tracker_weird(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, int is_orig, zeek::IntrusivePtr<zeek::StringVal> msg);  }

#endif
