Packages

BACstack is a low-level Elixir implementation for the ASHRAE standard 135, BACnet - Building Automation and Controller network. In its current published state, v0.0.x, it can (only) act as a BACnet client for other BACnet devices.

Current section

Files

Jump to
bacstack lib bacnet protocol constants abort_reject_error.ex
Raw

lib/bacnet/protocol/constants/abort_reject_error.ex

defmodule BACnet.Protocol.Constants.AbortRejectError do
  @moduledoc false
  # Can be extended through env :bacstack, :additional_abort_reason + :additional_error_class
  # + :additional_error_code + :additional_reject_reason

  use ConstEnum, exception: BACnet.Protocol.Constants.ConstantError

  # Abort
  defconst(:abort_reason, :other, 0x00)
  defconst(:abort_reason, :buffer_overflow, 0x01)
  defconst(:abort_reason, :invalid_apdu_in_this_state, 0x02)
  defconst(:abort_reason, :preempted_by_higher_priority_task, 0x03)
  defconst(:abort_reason, :segmentation_not_supported, 0x04)
  defconst(:abort_reason, :security_error, 0x05)
  defconst(:abort_reason, :insufficient_security, 0x06)
  defconst(:abort_reason, :window_size_out_of_range, 0x07)
  defconst(:abort_reason, :application_exceeded_reply_time, 0x08)
  defconst(:abort_reason, :out_of_resources, 0x09)
  defconst(:abort_reason, :tsm_timeout, 0x0A)
  defconst(:abort_reason, :apdu_too_long, 0x0B)

  defconst_extend_env(
    :abort_reason,
    :bacstack,
    :additional_abort_reason,
    &(is_atom(&1) and is_integer(&2) and &2 >= 0)
  )

  # Error
  defconst(:error_class, :device, 0x00)
  defconst(:error_class, :object, 0x01)
  defconst(:error_class, :property, 0x02)
  defconst(:error_class, :resources, 0x03)
  defconst(:error_class, :security, 0x04)
  defconst(:error_class, :services, 0x05)
  defconst(:error_class, :vt, 0x06)
  defconst(:error_class, :communication, 0x07)

  defconst_extend_env(
    :error_class,
    :bacstack,
    :additional_error_class,
    &(is_atom(&1) and is_integer(&2) and &2 >= 0)
  )

  defconst(:error_code, :other, 0x00)
  defconst(:error_code, :configuration_in_progress, 0x02)
  defconst(:error_code, :device_busy, 0x03)
  defconst(:error_code, :dynamic_creation_not_supported, 0x04)
  defconst(:error_code, :file_access_denied, 0x05)
  defconst(:error_code, :inconsistent_parameters, 0x07)
  defconst(:error_code, :inconsistent_selection_criterion, 0x08)
  defconst(:error_code, :invalid_datatype, 0x09)
  defconst(:error_code, :invalid_file_access_method, 0x0A)
  defconst(:error_code, :invalid_file_start_position, 0x0B)
  defconst(:error_code, :invalid_parameter_data_type, 0x0D)
  defconst(:error_code, :invalid_timestamp, 0x0E)
  defconst(:error_code, :missing_required_parameter, 0x10)
  defconst(:error_code, :no_objects_of_specified_type, 0x11)
  defconst(:error_code, :no_space_for_object, 0x12)
  defconst(:error_code, :no_space_to_add_list_element, 0x13)
  defconst(:error_code, :no_space_to_write_property, 0x14)
  defconst(:error_code, :no_vt_sessions_available, 0x15)
  defconst(:error_code, :property_is_not_a_list, 0x16)
  defconst(:error_code, :object_deletion_not_permitted, 0x17)
  defconst(:error_code, :object_identifier_already_exists, 0x18)
  defconst(:error_code, :operational_problem, 0x19)
  defconst(:error_code, :password_failure, 0x1A)
  defconst(:error_code, :read_access_denied, 0x1B)
  defconst(:error_code, :service_request_denied, 0x1D)
  defconst(:error_code, :timeout, 0x1E)
  defconst(:error_code, :unknown_object, 0x1F)
  defconst(:error_code, :unknown_property, 0x20)
  defconst(:error_code, :unknown_vt_class, 0x22)
  defconst(:error_code, :unknown_vt_session, 0x23)
  defconst(:error_code, :unsupported_object_type, 0x24)
  defconst(:error_code, :value_out_of_range, 0x25)
  defconst(:error_code, :vt_session_already_closed, 0x26)
  defconst(:error_code, :vt_session_termination_failure, 0x27)
  defconst(:error_code, :write_access_denied, 0x28)
  defconst(:error_code, :character_set_not_supported, 0x29)
  defconst(:error_code, :invalid_array_index, 0x2A)
  defconst(:error_code, :cov_subscription_failed, 0x2B)
  defconst(:error_code, :not_cov_property, 0x2C)
  defconst(:error_code, :optional_functionality_not_supported, 0x2D)
  defconst(:error_code, :invalid_configuration_data, 0x2E)
  defconst(:error_code, :datatype_not_supported, 0x2F)
  defconst(:error_code, :duplicate_name, 0x30)
  defconst(:error_code, :duplicate_object_id, 0x31)
  defconst(:error_code, :property_is_not_an_array, 0x32)
  defconst(:error_code, :abort_buffer_overflow, 0x33)
  defconst(:error_code, :abort_invalid_apdu_in_this_state, 0x34)
  defconst(:error_code, :abort_preempted_by_higher_priority_task, 0x35)
  defconst(:error_code, :abort_segmentation_not_supported, 0x36)
  defconst(:error_code, :abort_proprietary, 0x37)
  defconst(:error_code, :abort_other, 0x38)
  defconst(:error_code, :invalid_tag, 0x39)
  defconst(:error_code, :network_down, 0x3A)
  defconst(:error_code, :reject_buffer_overflow, 0x3B)
  defconst(:error_code, :reject_inconsistent_parameters, 0x3C)
  defconst(:error_code, :reject_invalid_parameter_data_type, 0x3D)
  defconst(:error_code, :reject_invalid_tag, 0x3E)
  defconst(:error_code, :reject_missing_required_parameter, 0x3F)
  defconst(:error_code, :reject_parameter_out_of_range, 0x40)
  defconst(:error_code, :reject_too_many_arguments, 0x41)
  defconst(:error_code, :reject_undefined_enumeration, 0x42)
  defconst(:error_code, :reject_unrecognized_service, 0x43)
  defconst(:error_code, :reject_proprietary, 0x44)
  defconst(:error_code, :reject_other, 0x45)
  defconst(:error_code, :unknown_device, 0x46)
  defconst(:error_code, :unknown_route, 0x47)
  defconst(:error_code, :value_not_initialized, 0x48)
  defconst(:error_code, :invalid_event_state, 0x49)
  defconst(:error_code, :no_alarm_configured, 0x4A)
  defconst(:error_code, :log_buffer_full, 0x4B)
  defconst(:error_code, :logged_value_purged, 0x4C)
  defconst(:error_code, :no_property_specified, 0x4D)
  defconst(:error_code, :not_configured_for_triggered_logging, 0x4E)
  defconst(:error_code, :unknown_subscription, 0x4F)
  defconst(:error_code, :parameter_out_of_range, 0x50)
  defconst(:error_code, :list_element_not_found, 0x51)
  defconst(:error_code, :busy, 0x52)
  defconst(:error_code, :communication_disabled, 0x53)
  defconst(:error_code, :success, 0x54)
  defconst(:error_code, :access_denied, 0x55)
  defconst(:error_code, :bad_destination_address, 0x56)
  defconst(:error_code, :bad_destination_device_id, 0x57)
  defconst(:error_code, :bad_signature, 0x58)
  defconst(:error_code, :bad_source_address, 0x59)
  defconst(:error_code, :bad_timestamp, 0x5A)
  defconst(:error_code, :cannot_use_key, 0x5B)
  defconst(:error_code, :cannot_verify_message_id, 0x5C)
  defconst(:error_code, :correct_key_revision, 0x5D)
  defconst(:error_code, :destination_device_id_required, 0x5E)
  defconst(:error_code, :duplicate_message, 0x5F)
  defconst(:error_code, :encryption_not_configured, 0x60)
  defconst(:error_code, :encryption_required, 0x61)
  defconst(:error_code, :incorrect_key, 0x62)
  defconst(:error_code, :invalid_key_data, 0x63)
  defconst(:error_code, :key_update_in_progress, 0x64)
  defconst(:error_code, :malformed_message, 0x65)
  defconst(:error_code, :not_key_server, 0x66)
  defconst(:error_code, :security_not_configured, 0x67)
  defconst(:error_code, :source_security_required, 0x68)
  defconst(:error_code, :too_many_keys, 0x69)
  defconst(:error_code, :unknown_authentication_type, 0x6A)
  defconst(:error_code, :unknown_key, 0x6B)
  defconst(:error_code, :unknown_key_revision, 0x6C)
  defconst(:error_code, :unknown_source_message, 0x6D)
  defconst(:error_code, :not_router_to_dnet, 0x6E)
  defconst(:error_code, :router_busy, 0x6F)
  defconst(:error_code, :unknown_network_message, 0x70)
  defconst(:error_code, :message_too_long, 0x71)
  defconst(:error_code, :security_error, 0x72)
  defconst(:error_code, :addressing_error, 0x73)
  defconst(:error_code, :write_bdt_failed, 0x74)
  defconst(:error_code, :read_bdt_failed, 0x75)
  defconst(:error_code, :register_foreign_device_failed, 0x76)
  defconst(:error_code, :read_fdt_failed, 0x77)
  defconst(:error_code, :delete_fdt_entry_failed, 0x78)
  defconst(:error_code, :distribute_broadcast_failed, 0x79)
  defconst(:error_code, :unknown_file_size, 0x7A)
  defconst(:error_code, :abort_apdu_too_long, 0x7B)
  defconst(:error_code, :abort_application_exceeded_reply_time, 0x7C)
  defconst(:error_code, :abort_out_of_resources, 0x7D)
  defconst(:error_code, :abort_tsm_timeout, 0x7E)
  defconst(:error_code, :abort_window_size_out_of_range, 0x7F)
  defconst(:error_code, :file_full, 0x80)
  defconst(:error_code, :inconsistent_configuration, 0x81)
  defconst(:error_code, :inconsistent_object_type, 0x82)
  defconst(:error_code, :internal_error, 0x83)
  defconst(:error_code, :not_configured, 0x84)
  defconst(:error_code, :out_of_memory, 0x85)
  defconst(:error_code, :value_too_long, 0x86)
  defconst(:error_code, :abort_insufficient_security, 0x87)
  defconst(:error_code, :abort_security_error, 0x88)
  defconst(:error_code, :duplicate_entry, 0x89)
  defconst(:error_code, :invalid_value_in_this_state, 0x8A)

  defconst_extend_env(
    :error_code,
    :bacstack,
    :additional_error_code,
    &(is_atom(&1) and is_integer(&2) and &2 >= 0)
  )

  # Reject
  defconst(:reject_reason, :other, 0x00)
  defconst(:reject_reason, :buffer_overflow, 0x01)
  defconst(:reject_reason, :inconsistent_parameters, 0x02)
  defconst(:reject_reason, :invalid_parameter_data_type, 0x03)
  defconst(:reject_reason, :invalid_tag, 0x04)
  defconst(:reject_reason, :missing_required_parameter, 0x05)
  defconst(:reject_reason, :parameter_out_of_range, 0x06)
  defconst(:reject_reason, :too_many_arguments, 0x07)
  defconst(:reject_reason, :undefined_enumeration, 0x08)
  defconst(:reject_reason, :unrecognized_service, 0x09)

  defconst_extend_env(
    :reject_reason,
    :bacstack,
    :additional_reject_reason,
    &(is_atom(&1) and is_integer(&2) and &2 >= 0)
  )
end