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

#pragma once

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

extern zeek::EventHandlerPtr modbus_message; 
namespace zeek::BifEvent { void enqueue_modbus_message(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, int is_orig);  }
extern zeek::EventHandlerPtr modbus_exception; 
namespace zeek::BifEvent { void enqueue_modbus_exception(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t code);  }
extern zeek::EventHandlerPtr modbus_read_coils_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_coils_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek_uint_t quantity);  }
extern zeek::EventHandlerPtr modbus_read_coils_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_coils_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> coils);  }
extern zeek::EventHandlerPtr modbus_read_discrete_inputs_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_discrete_inputs_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek_uint_t quantity);  }
extern zeek::EventHandlerPtr modbus_read_discrete_inputs_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_discrete_inputs_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> coils);  }
extern zeek::EventHandlerPtr modbus_read_holding_registers_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_holding_registers_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek_uint_t quantity);  }
extern zeek::EventHandlerPtr modbus_read_holding_registers_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_holding_registers_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> registers);  }
extern zeek::EventHandlerPtr modbus_read_input_registers_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_input_registers_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek_uint_t quantity);  }
extern zeek::EventHandlerPtr modbus_read_input_registers_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_input_registers_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> registers);  }
extern zeek::EventHandlerPtr modbus_write_single_coil_request; 
namespace zeek::BifEvent { void enqueue_modbus_write_single_coil_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t address, int value);  }
extern zeek::EventHandlerPtr modbus_write_single_coil_response; 
namespace zeek::BifEvent { void enqueue_modbus_write_single_coil_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t address, int value);  }
extern zeek::EventHandlerPtr modbus_write_single_register_request; 
namespace zeek::BifEvent { void enqueue_modbus_write_single_register_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t address, zeek_uint_t value);  }
extern zeek::EventHandlerPtr modbus_write_single_register_response; 
namespace zeek::BifEvent { void enqueue_modbus_write_single_register_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t address, zeek_uint_t value);  }
extern zeek::EventHandlerPtr modbus_write_multiple_coils_request; 
namespace zeek::BifEvent { void enqueue_modbus_write_multiple_coils_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek::IntrusivePtr<zeek::Val> coils);  }
extern zeek::EventHandlerPtr modbus_write_multiple_coils_response; 
namespace zeek::BifEvent { void enqueue_modbus_write_multiple_coils_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek_uint_t quantity);  }
extern zeek::EventHandlerPtr modbus_write_multiple_registers_request; 
namespace zeek::BifEvent { void enqueue_modbus_write_multiple_registers_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek::IntrusivePtr<zeek::Val> registers);  }
extern zeek::EventHandlerPtr modbus_write_multiple_registers_response; 
namespace zeek::BifEvent { void enqueue_modbus_write_multiple_registers_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address, zeek_uint_t quantity);  }
extern zeek::EventHandlerPtr modbus_read_file_record_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_file_record_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t byte_count, zeek::IntrusivePtr<zeek::Val> refs);  }
extern zeek::EventHandlerPtr modbus_read_file_record_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_file_record_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t byte_count, zeek::IntrusivePtr<zeek::Val> refs);  }
extern zeek::EventHandlerPtr modbus_write_file_record_request; 
namespace zeek::BifEvent { void enqueue_modbus_write_file_record_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t byte_count, zeek::IntrusivePtr<zeek::Val> refs);  }
extern zeek::EventHandlerPtr modbus_write_file_record_response; 
namespace zeek::BifEvent { void enqueue_modbus_write_file_record_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t byte_count, zeek::IntrusivePtr<zeek::Val> refs);  }
extern zeek::EventHandlerPtr modbus_mask_write_register_request; 
namespace zeek::BifEvent { void enqueue_modbus_mask_write_register_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t address, zeek_uint_t and_mask, zeek_uint_t or_mask);  }
extern zeek::EventHandlerPtr modbus_mask_write_register_response; 
namespace zeek::BifEvent { void enqueue_modbus_mask_write_register_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t address, zeek_uint_t and_mask, zeek_uint_t or_mask);  }
extern zeek::EventHandlerPtr modbus_read_write_multiple_registers_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_write_multiple_registers_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t read_start_address, zeek_uint_t read_quantity, zeek_uint_t write_start_address, zeek::IntrusivePtr<zeek::Val> write_registers);  }
extern zeek::EventHandlerPtr modbus_read_write_multiple_registers_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_write_multiple_registers_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> written_registers);  }
extern zeek::EventHandlerPtr modbus_read_fifo_queue_request; 
namespace zeek::BifEvent { void enqueue_modbus_read_fifo_queue_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t start_address);  }
extern zeek::EventHandlerPtr modbus_read_fifo_queue_response; 
namespace zeek::BifEvent { void enqueue_modbus_read_fifo_queue_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek::IntrusivePtr<zeek::Val> fifos);  }
extern zeek::EventHandlerPtr modbus_diagnostics_request; 
namespace zeek::BifEvent { void enqueue_modbus_diagnostics_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t subfunction, zeek::IntrusivePtr<zeek::StringVal> data);  }
extern zeek::EventHandlerPtr modbus_diagnostics_response; 
namespace zeek::BifEvent { void enqueue_modbus_diagnostics_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t subfunction, zeek::IntrusivePtr<zeek::StringVal> data);  }
extern zeek::EventHandlerPtr modbus_encap_interface_transport_request; 
namespace zeek::BifEvent { void enqueue_modbus_encap_interface_transport_request(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t mei_type, zeek::IntrusivePtr<zeek::StringVal> data);  }
extern zeek::EventHandlerPtr modbus_encap_interface_transport_response; 
namespace zeek::BifEvent { void enqueue_modbus_encap_interface_transport_response(zeek::analyzer::Analyzer* analyzer, zeek::Connection* c, zeek::IntrusivePtr<zeek::Val> headers, zeek_uint_t mei_type, zeek::IntrusivePtr<zeek::StringVal> data);  }

#endif
