945 lines
30 KiB
C
945 lines
30 KiB
C
/*####COPYRIGHTBEGIN####
|
|
-------------------------------------------
|
|
Copyright (C) 2003 Steve Karg
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
As a special exception, if other files instantiate templates or
|
|
use macros or inline functions from this file, or you compile
|
|
this file and link it with other works to produce a work based
|
|
on this file, this file does not by itself cause the resulting
|
|
work to be covered by the GNU General Public License. However
|
|
the source code for this file must still be made available in
|
|
accordance with section (3) of the GNU General Public License.
|
|
|
|
This exception does not invalidate any other reasons why a work
|
|
based on this file might be covered by the GNU General Public
|
|
License.
|
|
-------------------------------------------
|
|
####COPYRIGHTEND####*/
|
|
#ifndef BACENUM_H
|
|
#define BACENUM_H
|
|
|
|
typedef enum
|
|
{
|
|
PROP_ACKED_TRANSITIONS = 0,
|
|
PROP_ACK_REQUIRED = 1,
|
|
PROP_ACTION = 2,
|
|
PROP_ACTION_TEXT = 3,
|
|
PROP_ACTIVE_TEXT = 4,
|
|
PROP_ACTIVE_VT_SESSIONS = 5,
|
|
PROP_ALARM_VALUE = 6,
|
|
PROP_ALARM_VALUES = 7,
|
|
PROP_ALL = 8,
|
|
PROP_ALL_WRITES_SUCCESSFUL = 9,
|
|
PROP_APDU_SEGMENT_TIMEOUT = 10,
|
|
PROP_APDU_TIMEOUT = 11,
|
|
PROP_APPLICATION_SOFTWARE_VERSION = 12,
|
|
PROP_ARCHIVE = 13,
|
|
PROP_BIAS = 14,
|
|
PROP_CHANGE_OF_STATE_COUNT = 15,
|
|
PROP_CHANGE_OF_STATE_TIME = 16,
|
|
PROP_NOTIFICATION_CLASS = 17,
|
|
PROP_BLANK_1 = 18,
|
|
PROP_CONTROLLED_VARIABLE_REFERENCE = 19,
|
|
PROP_CONTROLLED_VARIABLE_UNITS = 20,
|
|
PROP_CONTROLLED_VARIABLE_VALUE = 21,
|
|
PROP_COV_INCREMENT = 22,
|
|
PROP_DATE_LIST = 23,
|
|
PROP_DAYLIGHT_SAVINGS_STATUS = 24,
|
|
PROP_DEADBAND = 25,
|
|
PROP_DERIVATIVE_CONSTANT = 26,
|
|
PROP_DERIVATIVE_CONSTANT_UNITS = 27,
|
|
PROP_DESCRIPTION = 28,
|
|
PROP_DESCRIPTION_OF_HALT = 29,
|
|
PROP_DEVICE_ADDRESS_BINDING = 30,
|
|
PROP_DEVICE_TYPE = 31,
|
|
PROP_EFFECTIVE_PERIOD = 32,
|
|
PROP_ELAPSED_ACTIVE_TIME = 33,
|
|
PROP_ERROR_LIMIT = 34,
|
|
PROP_EVENT_ENABLE = 35,
|
|
PROP_EVENT_STATE = 36,
|
|
PROP_EVENT_TYPE = 37,
|
|
PROP_EXCEPTION_SCHEDULE = 38,
|
|
PROP_FAULT_VALUES = 39,
|
|
PROP_FEEDBACK_VALUE = 40,
|
|
PROP_FILE_ACCESS_METHOD = 41,
|
|
PROP_FILE_SIZE = 42,
|
|
PROP_FILE_TYPE = 43,
|
|
PROP_FIRMWARE_REVISION = 44,
|
|
PROP_HIGH_LIMIT = 45,
|
|
PROP_INACTIVE_TEXT = 46,
|
|
PROP_IN_PROCESS = 47,
|
|
PROP_INSTANCE_OF = 48,
|
|
PROP_INTEGRAL_CONSTANT = 49,
|
|
PROP_INTEGRAL_CONSTANT_UNITS = 50,
|
|
PROP_ISSUE_CONFIRMED_NOTIFICATIONS = 51,
|
|
PROP_LIMIT_ENABLE = 52,
|
|
PROP_LIST_OF_GROUP_MEMBERS = 53,
|
|
PROP_LIST_OF_OBJECT_PROPERTY_REFERENCES = 54,
|
|
PROP_LIST_OF_SESSION_KEYS = 55,
|
|
PROP_LOCAL_DATE = 56,
|
|
PROP_LOCAL_TIME = 57,
|
|
PROP_LOCATION = 58,
|
|
PROP_LOW_LIMIT = 59,
|
|
PROP_MANIPULATED_VARIABLE_REFERENCE = 60,
|
|
PROP_MAXIMUM_OUTPUT = 61,
|
|
PROP_MAX_APDU_LENGTH_ACCEPTED = 62,
|
|
PROP_MAX_INFO_FRAMES = 63,
|
|
PROP_MAX_MASTER = 64,
|
|
PROP_MAX_PRES_VALUE = 65,
|
|
PROP_MINIMUM_OFF_TIME = 66,
|
|
PROP_MINIMUM_ON_TIME = 67,
|
|
PROP_MINIMUM_OUTPUT = 68,
|
|
PROP_MIN_PRES_VALUE = 69,
|
|
PROP_MODEL_NAME = 70,
|
|
PROP_MODIFICATION_DATE = 71,
|
|
PROP_NOTIFY_TYPE = 72,
|
|
PROP_NUMBER_OF_APDU_RETRIES = 73,
|
|
PROP_NUMBER_OF_STATES = 74,
|
|
PROP_OBJECT_IDENTIFIER = 75,
|
|
PROP_OBJECT_LIST = 76,
|
|
PROP_OBJECT_NAME = 77,
|
|
PROP_OBJECT_PROPERTY_REFERENCE = 78,
|
|
PROP_OBJECT_TYPE = 79,
|
|
PROP_OPTIONAL = 80,
|
|
PROP_OUT_OF_SERVICE = 81,
|
|
PROP_OUTPUT_UNITS = 82,
|
|
PROP_EVENT_PARAMETERS = 83,
|
|
PROP_POLARITY = 84,
|
|
PROP_PRESENT_VALUE = 85,
|
|
PROP_PRIORITY = 86,
|
|
PROP_PRIORITY_ARRAY = 87,
|
|
PROP_PRIORITY_FOR_WRITING = 88,
|
|
PROP_PROCESS_IDENTIFIER = 89,
|
|
PROP_PROGRAM_CHANGE = 90,
|
|
PROP_PROGRAM_LOCATION = 91,
|
|
PROP_PROGRAM_STATE = 92,
|
|
PROP_PROPORTIONAL_CONSTANT = 93,
|
|
PROP_PROPORTIONAL_CONSTANT_UNITS = 94,
|
|
PROP_PROTOCOL_CONFORMANCE_CLASS = 95, // deleted in version 1 revision 2
|
|
PROP_PROTOCOL_OBJECT_TYPES_SUPPORTED = 96,
|
|
PROP_PROTOCOL_SERVICES_SUPPORTED = 97,
|
|
PROP_PROTOCOL_VERSION = 98,
|
|
PROP_READ_ONLY = 99,
|
|
PROP_REASON_FOR_HALT = 100,
|
|
PROP_RECIPIENT = 101,
|
|
PROP_RECIPIENT_LIST = 102,
|
|
PROP_RELIABILITY = 103,
|
|
PROP_RELINQUISH_DEFAULT = 104,
|
|
PROP_REQUIRED = 105,
|
|
PROP_RESOLUTION = 106,
|
|
PROP_SEGMENTATION_SUPPORTED = 107,
|
|
PROP_SETPOINT = 108,
|
|
PROP_SETPOINT_REFERENCE = 109,
|
|
PROP_STATE_TEXT = 110,
|
|
PROP_STATUS_FLAGS = 111,
|
|
PROP_SYSTEM_STATUS = 112,
|
|
PROP_TIME_DELAY = 113,
|
|
PROP_TIME_OF_ACTIVE_TIME_RESET = 114,
|
|
PROP_TIME_OF_STATE_COUNT_RESET = 115,
|
|
PROP_TIME_SYNCHRONIZATION_RECIPIENTS = 116,
|
|
PROP_UNITS = 117,
|
|
PROP_UPDATE_INTERVAL = 118,
|
|
PROP_UTC_OFFSET = 119,
|
|
PROP_VENDOR_IDENTIFIER = 120,
|
|
PROP_VENDOR_NAME = 121,
|
|
PROP_VT_CLASSES_SUPPORTED = 122,
|
|
PROP_WEEKLY_SCHEDULE = 123,
|
|
PROP_ATTEMPTED_SAMPLES = 124,
|
|
PROP_AVERAGE_VALUE = 125,
|
|
PROP_BUFFER_SIZE = 126,
|
|
PROP_CLIENT_COV_INCREMENT = 127,
|
|
PROP_COV_RESUBSCRIPTION_INTERVAL = 128,
|
|
PROP_CURRENT_NOTIFY_TIME = 129,
|
|
PROP_EVENT_TIME_STAMPS = 130,
|
|
PROP_LOG_BUFFER = 131,
|
|
PROP_LOG_DEVICE_OBJECT = 132,
|
|
PROP_LOG_ENABLE = 133,
|
|
PROP_LOG_INTERVAL = 134,
|
|
PROP_MAXIMUM_VALUE = 135,
|
|
PROP_MINIMUM_VALUE = 136,
|
|
PROP_NOTIFICATION_THRESHOLD = 137,
|
|
PROP_PREVIOUS_NOTIFY_TIME = 138,
|
|
PROP_PROTOCOL_REVISION = 139,
|
|
PROP_RECORDS_SINCE_NOTIFICATION = 140,
|
|
PROP_RECORD_COUNT = 141,
|
|
PROP_START_TIME = 142,
|
|
PROP_STOP_TIME = 143,
|
|
PROP_STOP_WHEN_FULL = 144,
|
|
PROP_TOTAL_RECORD_COUNT = 145,
|
|
PROP_VALID_SAMPLES = 146,
|
|
PROP_WINDOW_INTERVAL = 147,
|
|
PROP_WINDOW_SAMPLES = 148,
|
|
PROP_MAXIMUM_VALUE_TIMESTAMP = 149,
|
|
PROP_MINIMUM_VALUE_TIMESTAMP = 150,
|
|
PROP_VARIANCE_VALUE = 151,
|
|
PROP_ACTIVE_COV_SUBSCRIPTIONS = 152,
|
|
PROP_BACKUP_FAILURE_TIMEOUT = 153,
|
|
PROP_CONFIGURATION_FILES = 154,
|
|
PROP_DATABASE_REVISION = 155,
|
|
PROP_DIRECT_READING = 156,
|
|
PROP_LAST_RESTORE_TIME = 157,
|
|
PROP_MAINTENANCE_REQUIRED = 158,
|
|
PROP_MEMBER_OF = 159,
|
|
PROP_MODE = 160,
|
|
PROP_OPERATION_EXPECTED = 161,
|
|
PROP_SETTING = 162,
|
|
PROP_SILENCED = 163,
|
|
PROP_TRACKING_VALUE = 164,
|
|
PROP_ZONE_MEMBERS = 165,
|
|
PROP_LIFE_SAFETY_ALARM_VALUES = 166,
|
|
PROP_MAX_SEGMENTS_ACCEPTED = 167,
|
|
PROP_PROFILE_NAME = 168
|
|
// The special property identifiers all, optional, and required
|
|
// are reserved for use in the ReadPropertyConditional and
|
|
// ReadPropertyMultiple services or services not defined in this standard.
|
|
// Enumerated values 0-511 are reserved for definition by ASHRAE.
|
|
// Enumerated values 512-4194303 may be used by others subject to the
|
|
// procedures and constraints described in Clause 23.
|
|
// The highest enumeration used in this version is 168.
|
|
} BACNET_PROPERTY_ID;
|
|
|
|
typedef enum
|
|
{
|
|
ACTION_DIRECT = 0,
|
|
ACTION_REVERSE = 1
|
|
} BACNET_ACTION;
|
|
|
|
typedef enum
|
|
{
|
|
BINARY_INACTIVE = 0,
|
|
BINARY_ACTIVE = 1
|
|
} BACNET_BINARY_PV;
|
|
|
|
typedef enum
|
|
{
|
|
ACTION_BINARY_PV,
|
|
ACTION_UNSIGNED,
|
|
ACTION_FLOAT
|
|
} BACNET_ACTION_VALUE_TYPE ;
|
|
|
|
typedef enum
|
|
{
|
|
EVENT_STATE_NORMAL = 0,
|
|
EVENT_STATE_FAULT = 1,
|
|
EVENT_STATE_OFFNORMAL = 2,
|
|
EVENT_STATE_HIGH_LIMIT = 3,
|
|
EVENT_STATE_LOW_LIMIT = 4
|
|
} BACNET_EVENT_STATE;
|
|
|
|
typedef enum
|
|
{
|
|
STATUS_OPERATIONAL = 0,
|
|
STATUS_OPERATIONAL_READ_ONLY = 1,
|
|
STATUS_DOWNLOAD_REQUIRED = 2,
|
|
STATUS_DOWNLOAD_IN_PROGRESS = 3,
|
|
STATUS_NON_OPERATIONAL = 4
|
|
} BACNET_DEVICE_STATUS;
|
|
|
|
typedef enum
|
|
{
|
|
//Area
|
|
UNITS_SQUARE_METERS = 0,
|
|
UNITS_SQUARE_FEET = 1,
|
|
//Electrical
|
|
UNITS_MILLIAMPERES = 2,
|
|
UNITS_AMPERES = 3,
|
|
UNITS_OHMS = 4,
|
|
UNITS_VOLTS = 5,
|
|
UNITS_KILOVOLTS = 6,
|
|
UNITS_MEGAVOLTS = 7,
|
|
UNITS_VOLT_AMPERES = 8,
|
|
UNITS_KILOVOLT_AMPERES = 9,
|
|
UNITS_MEGAVOLT_AMPERES = 10,
|
|
UNITS_VOLT_AMPERES_REACTIVE = 11,
|
|
UNITS_KILOVOLT_AMPERES_REACTIVE = 12,
|
|
UNITS_MEGAVOLT_AMPERES_REACTIVE = 13,
|
|
UNITS_DEGREES_PHASE = 14,
|
|
UNITS_POWER_FACTOR = 15,
|
|
//Energy
|
|
UNITS_JOULES = 16,
|
|
UNITS_KILOJOULES = 17,
|
|
UNITS_WATT_HOURS = 18,
|
|
UNITS_KILOWATT_HOURS = 19,
|
|
UNITS_BTU = 20,
|
|
UNITS_THERM = 21,
|
|
UNITS_TON_HOR = 22,
|
|
//Enthalpy
|
|
UNITS_JOULES_PER_KILOGRAM_DRY_AIR = 23,
|
|
UNITS_BTU_PER_POUND_DRY_AIR = 24,
|
|
//Frecuency
|
|
UNITS_CYCLES_PER_HOUR = 25,
|
|
UNITS_CYCLES_PER_MINUTE = 26,
|
|
UNITS_HERTZ = 27,
|
|
//Humidity
|
|
UNITS_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR = 28,
|
|
UNITS_PERCENT_RELATIVE_HUMIDITY = 29,
|
|
//Length
|
|
UNITS_MILLIMETER = 30,
|
|
UNITS_METERS = 31,
|
|
UNITS_INCH = 32,
|
|
UNITS_FEET = 33,
|
|
//Light
|
|
UNITS_WATTS_PER_SQUARE_FOOT = 34,
|
|
UNITS_WATTS_PER_SQUARE_METER = 35,
|
|
UNITS_LUMEN = 36,
|
|
UNITS_LUX = 37,
|
|
UNITS_FOOT_CANDLES = 38,
|
|
//Mass
|
|
UNITS_KILOGRAMS = 39,
|
|
UNITS_POUNDS_MASS = 40,
|
|
UNITS_TONS = 41,
|
|
//Mass Flow
|
|
UNITS_KILOGRAMS_PER_SECOND = 42,
|
|
UNITS_KILOGRAMS_PER_MINUTE = 43,
|
|
UNITS_KILOGRAMS_PER_HOUR = 44,
|
|
UNITS_POUNDS_MASS_PER_MINUTE = 45,
|
|
UNITS_POUNDS_MASS_PER_HOUR = 46,
|
|
//Power
|
|
UNITS_WATTS = 47,
|
|
UNITS_KILOWATTS = 48,
|
|
UNITS_MEGAWATTS = 49,
|
|
UNITS_BTU_PER_HOUR = 50,
|
|
UNITS_HORSEPOWER = 51,
|
|
UNITS_TONS_REFRIGERATIONS = 52,
|
|
//Pressure
|
|
UNITS_PASCALS = 53,
|
|
UNITS_KILOPASCAL = 54,
|
|
UNITS_BAR = 55,
|
|
UNITS_POUNDS_FORCE_PER_SQUARE_INCH = 56,
|
|
UNITS_CENTIMETERS_OF_WATER = 57,
|
|
UNITS_INCHES_OF_WATER = 58,
|
|
UNITS_MILLIMETERS_OF_MERCURY = 59,
|
|
UNITS_CENTIMETERS_OF_MERCURY = 60,
|
|
UNITS_INCHES_OF_MERCURY = 61,
|
|
//Temperature
|
|
UNITS_DEGREES_CELSIUS = 62,
|
|
UNITS_DEGREES_KELVIN = 63,
|
|
UNITS_DEGREES_FAHRENHEIT = 64,
|
|
UNITS_DEGREE_DAYS_CELSIUS = 65,
|
|
UNITS_DEGREE_DAYS_FAHRENHEIT = 66,
|
|
//Time
|
|
UNITS_YEAR = 67,
|
|
UNITS_MONTH = 68,
|
|
UNITS_WEEK = 69,
|
|
UNITS_DAY = 70,
|
|
UNITS_HOUR = 71,
|
|
UNITS_MINUTE = 72,
|
|
UNITS_SECOND = 73,
|
|
//Velocity
|
|
UNITS_METERS_PER_SECOND = 74,
|
|
UNITS_KILOMETERS_PER_HOUR = 75,
|
|
UNITS_FEET_PER_SECOND = 76,
|
|
UNITS_FEET_PER_MINUTE = 77,
|
|
UNITS_MILES_PER_HOUR = 78,
|
|
//Volume
|
|
UNITS_CUBIC_FEET = 79,
|
|
UNITS_CUBIC_METERS = 80,
|
|
UNITS_IMPERIAL_GALLONS = 81,
|
|
UNITS_LITERS = 82,
|
|
UNITS_US_GALLONS = 83,
|
|
//Volumetric Flow
|
|
UNITS_CUBIC_FEET_PER_MINUTE = 84,
|
|
UNITS_CUBIC_METERS_PER_SECOND = 85,
|
|
UNITS_IMPERIAL_GALLONS_PER_MINUTE = 86,
|
|
UNITS_LITERS_PER_SECOND = 87,
|
|
UNITS_LITERS_PER_MINUTE = 88,
|
|
UNITS_US_GALLONS_PER_MINUTE = 89,
|
|
//Others
|
|
UNITS_DEGREES_ANGULAR = 90,
|
|
UNITS_DEGREES_CELSIUS_PER_HOUR = 91,
|
|
UNITS_DEGREES_CELSIUS_PER_MINUTE = 92,
|
|
UNITS_DEGREES_FAHRENHEIT_PER_HOUR = 93,
|
|
UNITS_DEGREES_FAHRENHEIT_PER_MINUTE = 94,
|
|
UNITS_NO_UNITS = 95,
|
|
UNITS_PARTS_PER_MILLION = 96,
|
|
UNITS_PARTS_PER_BILLION = 97,
|
|
UNITS_PERCENT = 98,
|
|
UNITS_PERCENT_PER_SECOND = 99,
|
|
UNITS_PER_MINUTE = 100,
|
|
UNITS_PER_SECOND = 101,
|
|
UNITS_PSI_PER_DEGREE_FAHRENHEIT = 102,
|
|
UNITS_RADIANS = 103,
|
|
UNITS_REVOLUTIONS_PER_MINUTE = 104
|
|
} BACNET_ENGINEERING_UNITS;
|
|
|
|
typedef enum
|
|
{
|
|
POLARITY_NORMAL = 0,
|
|
POLARITY_REVERSE = 1
|
|
} BACNET_POLARITY;
|
|
|
|
typedef enum
|
|
{
|
|
PROGRAM_REQUEST_READY = 0,
|
|
PROGRAM_REQUEST_LOAD = 1,
|
|
PROGRAM_REQUEST_RUN = 2,
|
|
PROGRAM_REQUEST_HALT = 3,
|
|
PROGRAM_REQUEST_RESTART = 4,
|
|
PROGRAM_REQUEST_UNLOAD = 5
|
|
} BACNET_PROGRAM_REQUEST;
|
|
|
|
typedef enum
|
|
{
|
|
PROGRAM_STATE_IDLE = 0,
|
|
PROGRAM_STATE_LOADING = 1,
|
|
PROGRAM_STATE_RUNNING = 2,
|
|
PROGRAM_STATE_WAITING = 3,
|
|
PROGRAM_STATE_HALTED = 4,
|
|
PROGRAM_STATE_UNLOADING = 5
|
|
} BACNET_PROGRAM_STATE;
|
|
|
|
typedef enum
|
|
{
|
|
PROGRAM_ERROR_NORMAL = 0,
|
|
PROGRAM_ERROR_LOAD_FAILED = 1,
|
|
PROGRAM_ERROR_INTERNAL = 2,
|
|
PROGRAM_ERROR_PROGRAM = 3,
|
|
PROGRAM_ERROR_OTHER = 4
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
} BACNET_PROGRAM_ERROR;
|
|
|
|
typedef enum
|
|
{
|
|
RELIABILITY_NO_FAULT_DETECTED = 0,
|
|
RELIABILITY_NO_SENSOR = 1,
|
|
RELIABILITY_OVER_RANGE = 2,
|
|
RELIABILITY_UNDER_RANGE = 3,
|
|
RELIABILITY_OPEN_LOOP = 4,
|
|
RELIABILITY_SHORTED_LOOP = 5,
|
|
RELIABILITY_NO_OUTPUT = 6,
|
|
RELIABILITY_UNRELIABLE_OTHER = 7,
|
|
RELIABILITY_PROCESS_ERROR = 8,
|
|
RELIABILITY_MULTI_STATE_FAULT = 9
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
} BACNET_RELIABILITY;
|
|
|
|
typedef enum
|
|
{
|
|
EVENT_CHANGE_OF_BITSTRING = 0,
|
|
EVENT_CHANGE_OF_STATE = 1,
|
|
EVENT_CHANGE_OF_VALUE = 2,
|
|
EVENT_COMMAND_FAILURE = 3,
|
|
EVENT_FLOATING_LIMIT = 4,
|
|
EVENT_OUT_OF_RANGE = 5,
|
|
// complex-event-type (6), -- see comment below
|
|
EVENT_BUFFER_READY =7,
|
|
CHANGE_OF_LIFE_SAFETY = 8
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
// It is expected that these enumerated values will correspond to
|
|
// the use of the complex-event-type CHOICE [6] of the
|
|
// BACnetNotificationParameters production.
|
|
// The last enumeration used in this version is 8.
|
|
} BACNET_EVENT_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
FILE_RECORD_ACCESS = 0,
|
|
FILE_STREAM_ACCESS = 1,
|
|
FILE_RECORD_AND_STREAM_ACCESS = 2
|
|
} BACNET_FILE_ACCESS_METHOD;
|
|
|
|
typedef enum
|
|
{
|
|
LIFE_SAFETY_MODE_OFF = 0,
|
|
LIFE_SAFETY_MODE_ON = 1,
|
|
LIFE_SAFETY_MODE_TEST = 2,
|
|
LIFE_SAFETY_MODE_MANNED = 3,
|
|
LIFE_SAFETY_MODE_UNMANNED = 4,
|
|
LIFE_SAFETY_MODE_ARMED = 5,
|
|
LIFE_SAFETY_MODE_DISARMED = 6,
|
|
LIFE_SAFETY_MODE_PREARMED = 7,
|
|
LIFE_SAFETY_MODE_SLOW = 8,
|
|
LIFE_SAFETY_MODE_FAST = 9,
|
|
LIFE_SAFETY_MODE_DISCONNECTED = 10,
|
|
LIFE_SAFETY_MODE_ENABLED = 11,
|
|
LIFE_SAFETY_MODE_DISABLED = 12,
|
|
LIFE_SAFETY_MODE_AUTOMATIC_RELEASE_DISABLED = 13,
|
|
LIFE_SAFETY_MODE_DEFAULT = 14
|
|
// Enumerated values 0-255 are reserved for definition by ASHRAE.
|
|
// Enumerated values 256-65535 may be used by others subject to
|
|
// procedures and constraints described in Clause 23.
|
|
} BACNET_LIFE_SAFETY_MODE;
|
|
|
|
typedef enum
|
|
{
|
|
LIFE_SAFETY_OPERATION_NONE = 0,
|
|
LIFE_SAFETY_OPERATION_SILENCE = 1,
|
|
LIFE_SAFETY_OPERATION_SILENCE_AUDIBLE = 2,
|
|
LIFE_SAFETY_OPERATION_SILENCE_VISUAL = 3,
|
|
LIFE_SAFETY_OPERATION_RESET = 4,
|
|
LIFE_SAFETY_OPERATION_RESET_ALARM = 5,
|
|
LIFE_SAFETY_OPERATION_RESET_FAULT = 6
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// procedures and constraints described in Clause 23.
|
|
} BACNET_LIFE_SAFETY_OPERATION;
|
|
|
|
typedef enum
|
|
{
|
|
LIFE_SAFETY_STATE_QUIET = 0,
|
|
LIFE_SAFETY_STATE_PRE_ALARM = 1,
|
|
LIFE_SAFETY_STATE_ALARM = 2,
|
|
LIFE_SAFETY_STATE_FAULT = 3,
|
|
LIFE_SAFETY_STATE_FAULT_PRE_ALARM = 4,
|
|
LIFE_SAFETY_STATE_FAULT_ALARM = 5,
|
|
LIFE_SAFETY_STATE_NOT_READY = 6,
|
|
LIFE_SAFETY_STATE_ACTIVE = 7,
|
|
LIFE_SAFETY_STATE_TAMPER = 8,
|
|
LIFE_SAFETY_STATE_TEST_ALARM = 9,
|
|
LIFE_SAFETY_STATE_TEST_ACTIVE = 10,
|
|
LIFE_SAFETY_STATE_TEST_FAULT = 11,
|
|
LIFE_SAFETY_STATE_TEST_FAULT_ALARM = 12,
|
|
LIFE_SAFETY_STATE_HOLDUP = 13,
|
|
LIFE_SAFETY_STATE_DURESS = 14,
|
|
LIFE_SAFETY_STATE_TAMPER_ALARM = 15,
|
|
LIFE_SAFETY_STATE_ABNORMAL = 16,
|
|
LIFE_SAFETY_STATE_EMERGENCY_POWER = 17,
|
|
LIFE_SAFETY_STATE_DELAYED = 18,
|
|
LIFE_SAFETY_STATE_BLOCKED = 19,
|
|
LIFE_SAFETY_STATE_LOCAL_ALARM = 20,
|
|
LIFE_SAFETY_STATE_GENERAL_ALARM = 21,
|
|
LIFE_SAFETY_STATE_SUPERVISORY = 22,
|
|
LIFE_SAFETY_STATE_TEST_SUPERVISORY = 23
|
|
// Enumerated values 0-255 are reserved for definition by ASHRAE.
|
|
// Enumerated values 256-65535 may be used by others subject to
|
|
// procedures and constraints described in Clause 23.
|
|
} BACNET_LIFE_SAFETY_STATE;
|
|
|
|
typedef enum
|
|
{
|
|
MAINTENANCE_NONE = 0,
|
|
MAINTENANCE_PERIODIC_TEST = 1,
|
|
AINTENANCE_NEED_SERVICE_OPERATIONAL = 2,
|
|
MAINTENANCE_NEED_SERVICE_INOPERATIVE = 3
|
|
// Enumerated values 0-255 are reserved for definition by ASHRAE.
|
|
// Enumerated values 256-65535 may be used by others subject to
|
|
// procedures and constraints described in Clause 23.
|
|
} BACNET_MAINTENANCE;
|
|
|
|
typedef enum
|
|
{
|
|
NOTIFY_ALARM = 0,
|
|
NOTIFY_EVENT = 1,
|
|
NOTIFY_ACK_NOTIFICATION = 2
|
|
} BACNET_NOTIFY_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
OBJECT_ANALOG_INPUT = 0,
|
|
OBJECT_ANALOG_OUTPUT = 1,
|
|
OBJECT_ANALOG_VALUE = 2,
|
|
OBJECT_BINARY_INPUT = 3,
|
|
OBJECT_BINARY_OUTPUT = 4,
|
|
OBJECT_BINARY_VALUE = 5,
|
|
OBJECT_CALENDAR = 6,
|
|
OBJECT_COMMAND = 7,
|
|
OBJECT_DEVICE = 8,
|
|
OBJECT_EVENT_ENROLLMENT = 9,
|
|
OBJECT_FILE = 10,
|
|
OBJECT_GROUP = 11,
|
|
OBJECT_LOOP = 12,
|
|
OBJECT_MULTI_STATE_INPUT = 13,
|
|
OBJECT_MULTI_STATE_OUTPUT = 14,
|
|
OBJECT_NOTIFICATION_CLASS = 15,
|
|
OBJECT_PROGRAM = 16,
|
|
OBJECT_SCHEDULE = 17,
|
|
OBJECT_AVERAGING = 18,
|
|
OBJECT_MULTI_STATE_VALUE = 19,
|
|
OBJECT_TRENDLOG = 20,
|
|
OBJECT_LIFE_SAFETY_POINT = 21,
|
|
OBJECT_LIFE_SAFETY_ZONE = 22,
|
|
// Enumerated values 0-127 are reserved for definition by ASHRAE.
|
|
// Enumerated values 128-1023 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
MAX_BACNET_OBJECT_TYPES = 23 // used for bit string loop
|
|
} BACNET_OBJECT_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
SEGMENTATION_BOTH = 0,
|
|
SEGMENTATION_TRANSMIT = 1,
|
|
SEGMENTATION_RECEIVE = 2,
|
|
SEGMENTATION_NONE = 3,
|
|
MAX_BACNET_SEGMENTATION = 4
|
|
} BACNET_SEGMENTATION;
|
|
|
|
typedef enum
|
|
{
|
|
VT_CLASS_DEFAULT = 0,
|
|
VT_CLASS_ANSI_X34 = 1, /* real name is ANSI X3.64*/
|
|
VT_CLASS_DEC_VT52 = 2,
|
|
VT_CLASS_DEC_VT100 = 3,
|
|
VT_CLASS_DEC_VT220 = 4,
|
|
VT_CLASS_HP_700_94 = 5, /* real name is HP 700/94 */
|
|
VT_CLASS_IBM_3130 = 6
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
} BACNET_VT_CLASS;
|
|
|
|
typedef enum
|
|
{
|
|
CHARACTER_ANSI = 0,
|
|
CHARACTER_MS_DBCS = 1,
|
|
CHARACTER_JISC_6226 = 2,
|
|
CHARACTER_UCS4 = 3,
|
|
CHARACTER_UCS2 = 4,
|
|
CHARACTER_ISO8859 = 5
|
|
} BACNET_CHARACTER_STRING;
|
|
|
|
typedef enum {
|
|
BACNET_APPLICATION_TAG_NULL = 0,
|
|
BACNET_APPLICATION_TAG_BOOLEAN = 1,
|
|
BACNET_APPLICATION_TAG_UNSIGNED_INT = 2,
|
|
BACNET_APPLICATION_TAG_SIGNED_INT = 3,
|
|
BACNET_APPLICATION_TAG_REAL = 4,
|
|
BACNET_APPLICATION_TAG_DOUBLE = 5,
|
|
BACNET_APPLICATION_TAG_OCTET_STRING = 6,
|
|
BACNET_APPLICATION_TAG_CHARACTER_STRING = 7,
|
|
BACNET_APPLICATION_TAG_BIT_STRING = 8,
|
|
BACNET_APPLICATION_TAG_ENUMERATED = 9,
|
|
BACNET_APPLICATION_TAG_DATE = 10,
|
|
BACNET_APPLICATION_TAG_TIME = 11,
|
|
BACNET_APPLICATION_TAG_OBJECT_ID = 12,
|
|
BACNET_APPLICATION_TAG_RESERVED1 = 13,
|
|
BACNET_APPLICATION_TAG_RESERVED2 = 14,
|
|
BACNET_APPLICATION_TAG_RESERVED3 = 15
|
|
} BACNET_APPLICATION_TAG;
|
|
|
|
// note: these are not the real values,
|
|
// but are shifted left for easy encoding
|
|
typedef enum {
|
|
PDU_TYPE_CONFIRMED_SERVICE_REQUEST = 0,
|
|
PDU_TYPE_UNCONFIRMED_SERVICE_REQUEST = 0x10,
|
|
PDU_TYPE_SIMPLE_ACK = 0x20,
|
|
PDU_TYPE_COMPLEX_ACK = 0x30,
|
|
PDU_TYPE_SEGMENT_ACK = 0x40,
|
|
PDU_TYPE_ERROR = 0x50,
|
|
PDU_TYPE_REJECT = 0x60,
|
|
PDU_TYPE_ABORT = 0x70
|
|
} BACNET_PDU_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
// Alarm and Event Services
|
|
SERVICE_CONFIRMED_ACKNOWLEDGE_ALARM = 0,
|
|
SERVICE_CONFIRMED_COV_NOTIFICATION = 1,
|
|
SERVICE_CONFIRMED_EVENT_NOTIFICATION = 2,
|
|
SERVICE_CONFIRMED_GET_ALARM_SUMMARY = 3,
|
|
SERVICE_CONFIRMED_GET_ENROLLMENT_SUMMARY = 4,
|
|
SERVICE_CONFIRMED_GET_EVENT_INFORMATION = 29,
|
|
SERVICE_CONFIRMED_SUBSCRIBE_COV = 5,
|
|
SERVICE_CONFIRMED_SUBSCRIBE_COV_PROPERTY = 28,
|
|
SERVICE_CONFIRMED_LIFE_SAFETY_OPERATION = 27,
|
|
// File Access Services
|
|
SERVICE_CONFIRMED_ATOMIC_READ_FILE = 6,
|
|
SERVICE_CONFIRMED_ATOMIC_WRITE_FILE = 7,
|
|
// Object Access Services
|
|
SERVICE_CONFIRMED_ADD_LIST_ELEMENT = 8,
|
|
SERVICE_CONFIRMED_REMOVE_LIST_ELEMENT = 9,
|
|
SERVICE_CONFIRMED_CREATE_OBJECT = 10,
|
|
SERVICE_CONFIRMED_DELETE_OBJECT = 11,
|
|
SERVICE_CONFIRMED_READ_PROPERTY = 12,
|
|
SERVICE_CONFIRMED_READ_PROPERTY_CONDITIONAL = 13,
|
|
SERVICE_CONFIRMED_READ_PROPERTY_MULTIPLE = 14,
|
|
SERVICE_CONFIRMED_READ_RANGE = 26,
|
|
SERVICE_CONFIRMED_WRITE_PROPERTY = 15,
|
|
SERVICE_CONFIRMED_WRITE_PROPERTY_MULTIPLE = 16,
|
|
// Remote Device Management Services
|
|
SERVICE_CONFIRMED_DEVICE_COMMUNICATION_CONTROL = 17,
|
|
SERVICE_CONFIRMED_PRIVATE_TRANSFER = 18,
|
|
SERVICE_CONFIRMED_TEXT_MESSAGE = 19,
|
|
SERVICE_CONFIRMED_REINITIALIZE_DEVICE = 20,
|
|
// Virtual Terminal Services
|
|
SERVICE_CONFIRMED_VT_OPEN = 21,
|
|
SERVICE_CONFIRMED_VT_CLOSE = 22,
|
|
SERVICE_CONFIRMED_VT_DATA = 23,
|
|
// Security Services
|
|
SERVICE_CONFIRMED_AUTHENTICATE = 24,
|
|
SERVICE_CONFIRMED_REQUEST_KEY = 25,
|
|
// Services added after 1995
|
|
// readRange (26) see Object Access Services
|
|
// lifeSafetyOperation (27) see Alarm and Event Services
|
|
// subscribeCOVProperty (28) see Alarm and Event Services
|
|
// getEventInformation (29) see Alarm and Event Services
|
|
MAX_BACNET_CONFIRMED_SERVICE = 30
|
|
} BACNET_CONFIRMED_SERVICE;
|
|
|
|
typedef enum {
|
|
SERVICE_UNCONFIRMED_I_AM = 0,
|
|
SERVICE_UNCONFIRMED_I_HAVE = 1,
|
|
SERVICE_UNCONFIRMED_COV_NOTIFICATION = 2,
|
|
SERVICE_UNCONFIRMED_EVENT_NOTIFICATION = 3,
|
|
SERVICE_UNCONFIRMED_PRIVATE_TRANSFER = 4,
|
|
SERVICE_UNCONFIRMED_TEXT_MESSAGE = 5,
|
|
SERVICE_UNCONFIRMED_TIME_SYNCHRONIZATION = 6,
|
|
SERVICE_UNCONFIRMED_WHO_HAS = 7,
|
|
SERVICE_UNCONFIRMED_WHO_IS = 8,
|
|
SERVICE_UNCONFIRMED_UTC_TIME_SYNCHRONIZATION = 9,
|
|
// Other services to be added as they are defined.
|
|
// All choice values in this production are reserved
|
|
// for definition by ASHRAE.
|
|
// Proprietary extensions are made by using the
|
|
// UnconfirmedPrivateTransfer service. See Clause 23.
|
|
MAX_BACNET_UNCONFIRMED_SERVICE = 10
|
|
} BACNET_UNCONFIRMED_SERVICE;
|
|
|
|
// Bit String Enumerations
|
|
typedef enum
|
|
{
|
|
// Alarm and Event Services
|
|
SERVICE_SUPPORTED_ACKNOWLEDGE_ALARM = 0,
|
|
SERVICE_SUPPORTED_CONFIRMED_COV_NOTIFICATION = 1,
|
|
SERVICE_SUPPORTED_CONFIRMED_EVENT_NOTIFICATION = 2,
|
|
SERVICE_SUPPORTED_GET_ALARM_SUMMARY = 3,
|
|
SERVICE_SUPPORTED_GET_ENROLLMENT_SUMMARY = 4,
|
|
SERVICE_SUPPORTED_GET_EVENT_INFORMATION = 39,
|
|
SERVICE_SUPPORTED_SUBSCRIBE_COV = 5,
|
|
SERVICE_SUPPORTED_SUBSCRIBE_COV_PROPERTY = 38,
|
|
SERVICE_SUPPORTED_LIFE_SAFETY_OPERATION = 37,
|
|
// File Access Services
|
|
SERVICE_SUPPORTED_ATOMIC_READ_FILE = 6,
|
|
SERVICE_SUPPORTED_ATOMIC_WRITE_FILE = 7,
|
|
// Object Access Services
|
|
SERVICE_SUPPORTED_ADD_LIST_ELEMENT = 8,
|
|
SERVICE_SUPPORTED_REMOVE_LIST_ELEMENT = 9,
|
|
SERVICE_SUPPORTED_CREATE_OBJECT = 10,
|
|
SERVICE_SUPPORTED_DELETE_OBJECT = 11,
|
|
SERVICE_SUPPORTED_READ_PROPERTY = 12,
|
|
SERVICE_SUPPORTED_READ_PROPERTY_CONDITIONAL = 13,
|
|
SERVICE_SUPPORTED_READ_PROPERTY_MULTIPLE = 14,
|
|
SERVICE_SUPPORTED_READ_RANGE = 35,
|
|
SERVICE_SUPPORTED_WRITE_PROPERTY = 15,
|
|
SERVICE_SUPPORTED_WRITE_PROPERTY_MULTIPLE = 16,
|
|
// Remote Device Management Services
|
|
SERVICE_SUPPORTED_DEVICE_COMMUNICATION_CONTROL = 17,
|
|
SERVICE_SUPPORTED_PRIVATE_TRANSFER = 18,
|
|
SERVICE_SUPPORTED_TEXT_MESSAGE = 19,
|
|
SERVICE_SUPPORTED_REINITIALIZE_DEVICE = 20,
|
|
// Virtual Terminal Services
|
|
SERVICE_SUPPORTED_VT_OPEN = 21,
|
|
SERVICE_SUPPORTED_VT_CLOSE = 22,
|
|
SERVICE_SUPPORTED_VT_DATA = 23,
|
|
// Security Services
|
|
SERVICE_SUPPORTED_AUTHENTICATE = 24,
|
|
SERVICE_SUPPORTED_REQUEST_KEY = 25,
|
|
SERVICE_SUPPORTED_I_AM = 26,
|
|
SERVICE_SUPPORTED_I_HAVE = 27,
|
|
SERVICE_SUPPORTED_UNCONFIRMED_COV_NOTIFICATION = 28,
|
|
SERVICE_SUPPORTED_UNCONFIRMED_EVENT_NOTIFICATION = 29,
|
|
SERVICE_SUPPORTED_UNCONFIRMED_PRIVATE_TRANSFER = 30,
|
|
SERVICE_SUPPORTED_UNCONFIRMED_TEXT_MESSAGE = 31,
|
|
SERVICE_SUPPORTED_TIME_SYNCHRONIZATION = 32,
|
|
SERVICE_SUPPORTED_UTC_TIME_SYNCHRONIZATION = 36,
|
|
SERVICE_SUPPORTED_WHO_HAS = 33,
|
|
SERVICE_SUPPORTED_WHO_IS = 34,
|
|
// Other services to be added as they are defined.
|
|
// All values in this production are reserved
|
|
// for definition by ASHRAE.
|
|
MAX_BACNET_SERVICES_SUPPORTED = 40
|
|
} BACNET_SERVICES_SUPPORTED;
|
|
|
|
typedef enum {
|
|
ACKNOWLEDGMENT_FILTER_ALL = 0,
|
|
ACKNOWLEDGMENT_FILTER_ACKED = 1,
|
|
ACKNOWLEDGMENT_FILTER_NOT_ACKED = 2
|
|
} BACNET_ACKNOWLEDGMENT_FILTER;
|
|
|
|
typedef enum {
|
|
EVENT_STATE_FILTER_OFFNORMAL = 0,
|
|
EVENT_STATE_FILTER_FAULT = 1,
|
|
EVENT_STATE_FILTER_NORMAL = 2,
|
|
EVENT_STATE_FILTER_ALL = 3,
|
|
EVENT_STATE_FILTER_ACTIVE = 4
|
|
} BACNET_EVENT_STATE_FILTER;
|
|
|
|
typedef enum {
|
|
SELECTION_LOGIC_AND = 0,
|
|
SELECTION_LOGIC_OR = 1,
|
|
SELECTION_LOGIC_ALL = 2
|
|
} BACNET_SELECTION_LOGIC;
|
|
|
|
typedef enum {
|
|
RELATION_SPECIFIER_EQUAL = 0,
|
|
RELATION_SPECIFIER_NOT_EQUAL = 1,
|
|
RELATION_SPECIFIER_LESS_THAN = 2,
|
|
RELATION_SPECIFIER_GREATER_THAN = 3,
|
|
RELATION_SPECIFIER_LESS_THAN_OR_EQUAL = 4,
|
|
RELATION_SPECIFIER_GREATER_THAN_OR_EQUAL = 5
|
|
} BACNET_RELATION_SPECIFIER;
|
|
|
|
typedef enum {
|
|
COMMUNICATION_ENABLE = 0,
|
|
COMMUNICATION_DISABLE = 1
|
|
} BACNET_COMMUNICATION_ENABLE_DISABLE;
|
|
|
|
typedef enum {
|
|
MESSAGE_PRIORITY_NORMAL = 0,
|
|
MESSAGE_PRIORITY_URGENT = 1,
|
|
MESSAGE_PRIORITY_CRITICAL_EQUIPMENT = 2,
|
|
MESSAGE_PRIORITY_LIFE_SAFETY = 3
|
|
} BACNET_MESSAGE_PRIORITY;
|
|
|
|
//Network Layer Message Type
|
|
//If Bit 7 of the control octet described in 6.2.2 is 1,
|
|
// a message type octet shall be present as shown in Figure 6-1.
|
|
// The following message types are indicated:
|
|
typedef enum {
|
|
NETWORK_MESSAGE_WHO_IS_ROUTER_TO_NETWORK = 0,
|
|
NETWORK_MESSAGE_I_AM_ROUTER_TO_NETWORK = 1,
|
|
NETWORK_MESSAGE_I_COULD_BE_ROUTER_TO_NETWORK = 2,
|
|
NETWORK_MESSAGE_REJECT_MESSAGE_TO_NETWORK = 3,
|
|
NETWORK_MESSAGE_ROUTER_BUSY_TO_NETWORK = 4,
|
|
NETWORK_MESSAGE_ROUTER_AVAILABLE_TO_NETWORK = 5,
|
|
NETWORK_MESSAGE_INITIALIZE_ROUTING_TABLE = 6,
|
|
NETWORK_MESSAGE_INITIALIZE_ROUTING_TABLE_ACK = 7,
|
|
NETWORK_MESSAGE_ESTABLISH_CONNECTION_TO_NETWORK = 8,
|
|
NETWORK_MESSAGE_DISCONNECT_CONNECTION_TO_NETWORK = 9
|
|
// X'0A' to X'7F': Reserved for use by ASHRAE,
|
|
// X'80' to X'FF': Available for vendor proprietary messages
|
|
} BACNET_NETWORK_MESSAGE_TYPE;
|
|
|
|
|
|
typedef enum {
|
|
REINITIALIZED_STATE_COLD_START = 0,
|
|
REINITIALIZED_STATE_WARM_START = 1,
|
|
REINITIALIZED_STATE_START_BACKUP = 2,
|
|
REINITIALIZED_STATE_END_BACKUP = 3,
|
|
REINITIALIZED_STATE_START_RESTORE = 4,
|
|
REINITIALIZED_STATE_END_RESTORE = 5,
|
|
REINITIALIZED_STATE_ABORT_RESTORE = 6
|
|
} BACNET_REINITIALIZED_STATE_OF_DEVICE;
|
|
|
|
typedef enum {
|
|
ABORT_REASON_OTHER = 0,
|
|
ABORT_REASON_BUFFER_OVERFLOW = 1,
|
|
ABORT_REASON_INVALID_APDU_IN_THIS_STATE = 2,
|
|
ABORT_REASON_PREEMPTED_BY_HIGHER_PRIORITY_TASK = 3,
|
|
ABORT_REASON_SEGMENTATION_NOT_SUPPORTED = 4,
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
MAX_BACNET_ABORT_REASON = 5,
|
|
FIRST_PROPRIETARY_ABORT_REASON = 64,
|
|
LAST_PROPRIETARY_ABORT_REASON = 65535
|
|
} BACNET_ABORT_REASON;
|
|
|
|
typedef enum {
|
|
REJECT_REASON_OTHER = 0,
|
|
REJECT_REASON_BUFFER_OVERFLOW = 1,
|
|
REJECT_REASON_INCONSISTENT_PARAMETERS = 2,
|
|
REJECT_REASON_INVALID_PARAMETER_DATA_TYPE = 3,
|
|
REJECT_REASON_INVALID_TAG = 4,
|
|
REJECT_REASON_MISSING_REQUIRED_PARAMETER = 5,
|
|
REJECT_REASON_PARAMETER_OUT_OF_RANGE = 6,
|
|
REJECT_REASON_TOO_MANY_ARGUMENTS = 7,
|
|
REJECT_REASON_UNDEFINED_ENUMERATION = 8,
|
|
REJECT_REASON_UNRECOGNIZED_SERVICE = 9,
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
MAX_BACNET_REJECT_REASON = 10,
|
|
FIRST_PROPRIETARY_REJECT_REASON = 64,
|
|
LAST_PROPRIETARY_REJECT_REASON = 65535
|
|
} BACNET_BACNET_REJECT_REASON;
|
|
|
|
typedef enum {
|
|
ERROR_CLASS_DEVICE = 0,
|
|
ERROR_CLASS_OBJECT = 1,
|
|
ERROR_CLASS_PROPERTY = 2,
|
|
ERROR_CLASS_RESOURCES = 3,
|
|
ERROR_CLASS_SECURITY = 4,
|
|
ERROR_CLASS_SERVICES = 5,
|
|
ERROR_CLASS_VT = 6,
|
|
// Enumerated values 0-63 are reserved for definition by ASHRAE.
|
|
// Enumerated values 64-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
MAX_BACNET_ERROR_CLASS = 7,
|
|
FIRST_PROPRIETARY_ERROR_CLASS = 64,
|
|
LAST_PROPRIETARY_ERROR_CLASS = 65535
|
|
} BACNET_ERROR_CLASS;
|
|
|
|
typedef enum {
|
|
ERROR_CODE_OTHER = 0,
|
|
ERROR_CODE_AUTHENTICATION_FAILED = 1,
|
|
ERROR_CODE_CHARACTER_SET_NOT_SUPPORTED = 41,
|
|
ERROR_CODE_CONFIGURATION_IN_PROGRESS = 2,
|
|
ERROR_CODE_DEVICE_BUSY = 3,
|
|
ERROR_CODE_DYNAMIC_CREATION_NOT_SUPPORTED = 4,
|
|
ERROR_CODE_FILE_ACCESS_DENIED = 5,
|
|
ERROR_CODE_INCOMPATIBLE_SECURITY_LEVELS = 6,
|
|
ERROR_CODE_INCONSISTENT_PARAMETERS = 7,
|
|
ERROR_CODE_INCONSISTENT_SELECTION_CRITERION = 8,
|
|
ERROR_CODE_INVALID_ARRAY_INDEX = 42,
|
|
ERROR_CODE_INVALID_CONFIGURATION_DATA = 46,
|
|
ERROR_CODE_INVALID_DATA_TYPE = 9,
|
|
ERROR_CODE_INVALID_FILE_ACCESS_METHOD = 10,
|
|
ERROR_CODE_ERROR_CODE_INVALID_FILE_START_POSITION = 11,
|
|
ERROR_CODE_INVALID_OPERATOR_NAME = 12,
|
|
ERROR_CODE_INVALID_PARAMETER_DATA_TYPE = 13,
|
|
ERROR_CODE_INVALID_TIME_STAMP = 14,
|
|
ERROR_CODE_KEY_GENERATION_ERROR = 15,
|
|
ERROR_CODE_MISSING_REQUIRED_PARAMETER = 16,
|
|
ERROR_CODE_NO_OBJECTS_OF_SPECIFIED_TYPE = 17,
|
|
ERROR_CODE_NO_SPACE_FOR_OBJECT = 18,
|
|
ERROR_CODE_NO_SPACE_TO_ADD_LIST_ELEMENT = 19,
|
|
ERROR_CODE_NO_SPACE_TO_WRITE_PROPERTY = 20,
|
|
ERROR_CODE_NO_VT_SESSIONS_AVAILABLE = 21,
|
|
ERROR_CODE_OBJECT_DELETION_NOT_PERMITTED = 23,
|
|
ERROR_CODE_OBJECT_IDENTIFIER_ALREADY_EXISTS = 24,
|
|
ERROR_CODE_OPERATIONAL_PROBLEM = 25,
|
|
ERROR_CODE_OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED = 45,
|
|
ERROR_CODE_PASSWORD_FAILURE = 26,
|
|
ERROR_CODE_PROPERTY_IS_NOT_A_LIST = 22,
|
|
ERROR_CODE_READ_ACCESS_DENIED = 27,
|
|
ERROR_CODE_SECURITY_NOT_SUPPORTED = 28,
|
|
ERROR_CODE_SERVICE_REQUEST_DENIED = 29,
|
|
ERROR_CODE_TIMEOUT = 30,
|
|
ERROR_CODE_UNKNOWN_OBJECT = 31,
|
|
ERROR_CODE_UNKNOWN_PROPERTY = 32,
|
|
ERROR_CODE_RESERVED1 = 33,
|
|
ERROR_CODE_UNKNOWN_VT_CLASS = 34,
|
|
ERROR_CODE_UNKNOWN_VT_SESSION = 35,
|
|
ERROR_CODE_UNSUPPORTED_OBJECT_TYPE = 36,
|
|
ERROR_CODE_VALUE_OUT_OF_RANGE = 37,
|
|
ERROR_CODE_VT_SESSION_ALREADY_CLOSED = 38,
|
|
ERROR_CODE_VT_SESSION_TERMINATION_FAILURE = 39,
|
|
ERROR_CODE_WRITE_ACCESS_DENIED = 40,
|
|
// see character_set_not_supported = 41,
|
|
// see invalid_array_index = 42,
|
|
ERROR_CODE_COV_SUBSCRIPTION_FAILED = 43,
|
|
ERROR_CODE_NOT_COV_PROPERTY = 44,
|
|
// see optional_functionality_not_supported, = 45,
|
|
// see invalid_configuration_data = 46,
|
|
// Enumerated values 0-255 are reserved for definition by ASHRAE.
|
|
// Enumerated values 256-65535 may be used by others subject to
|
|
// the procedures and constraints described in Clause 23.
|
|
// The last enumeration used in this version is 46.
|
|
MAX_BACNET_ERROR_CODE = 47,
|
|
FIRST_PROPRIETARY_ERROR_CODE = 256,
|
|
LAST_PROPRIETARY_ERROR_CODE = 65535
|
|
} BACNET_ERROR_CODE;
|
|
|
|
#endif // end of BACENUM_H
|
|
|