/*####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_O = 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. } BACNET_OBJECT_TYPE; typedef enum { SEGMENTATION_BOTH = 0, SEGMENTATION_TRANSMIT = 1, SEGMENTATION_RECEIVE = 2, SEGMENTATION_NONE = 3, } 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; 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 } 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. } BACNET_UNCONFIRMED_SERVICE; 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 } BACNET_MESSAGE_PRIORITY; 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. } 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. } 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. } 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. } BACNET_ERROR_CODE; #endif // end of BACENUM_H