Skip to main content

bacnet_types/enums/
access.rs

1// ===========================================================================
2// Door / access control enums (Clause 12.26, 12.33)
3// ===========================================================================
4
5bacnet_enum! {
6    /// BACnet door alarm state (Clause 12.26).
7    pub struct DoorAlarmState(u32);
8
9    const NORMAL = 0;
10    const ALARM = 1;
11    const DOOR_OPEN_TOO_LONG = 2;
12    const FORCED_OPEN = 3;
13    const TAMPER = 4;
14    const DOOR_FAULT = 5;
15    const LOCK_FAULT = 6;
16    const FREE_ACCESS = 7;
17    const EGRESS_OPEN = 8;
18}
19
20bacnet_enum! {
21    /// BACnet door status (Clause 12.26).
22    pub struct DoorStatus(u32);
23
24    const CLOSED = 0;
25    const OPENED = 1;
26    const UNKNOWN = 2;
27}
28
29bacnet_enum! {
30    /// BACnet lock status (Clause 12.26).
31    pub struct LockStatus(u32);
32
33    const LOCKED = 0;
34    const UNLOCKED = 1;
35    const LOCK_FAULT = 2;
36    const UNUSED = 3;
37    const UNKNOWN = 4;
38}
39
40bacnet_enum! {
41    /// BACnet secured status for Access Door (Clause 12.26).
42    pub struct DoorSecuredStatus(u32);
43
44    const SECURED = 0;
45    const UNSECURED = 1;
46    const UNKNOWN = 2;
47}
48
49bacnet_enum! {
50    /// BACnet access event (Clause 12.33).
51    pub struct AccessEvent(u32);
52
53    const NONE = 0;
54    const GRANTED = 1;
55    const MUSTER = 2;
56    const PASSBACK_DETECTED = 3;
57    const DURESS = 4;
58    const TRACE = 5;
59    const LOCKOUT_MAX_ATTEMPTS = 6;
60    const LOCKOUT_OTHER = 7;
61    const LOCKOUT_RELINQUISHED = 8;
62    const LOCKED_BY_HIGHER_PRIORITY = 9;
63    const OUT_OF_SERVICE = 10;
64    const OUT_OF_SERVICE_RELINQUISHED = 11;
65    const ACCOMPANIMENT_BY = 12;
66    const AUTHENTICATION_FACTOR_READ = 13;
67    const AUTHORIZATION_DELAYED = 14;
68    const VERIFICATION_REQUIRED = 15;
69    const NO_ENTRY_AFTER_GRANTED = 16;
70    // Denied events (128+)
71    const DENIED_DENY_ALL = 128;
72    const DENIED_UNKNOWN_CREDENTIAL = 129;
73    const DENIED_AUTHENTICATION_UNAVAILABLE = 130;
74    const DENIED_AUTHENTICATION_FACTOR_TIMEOUT = 131;
75    const DENIED_INCORRECT_AUTHENTICATION_FACTOR = 132;
76    const DENIED_ZONE_NO_ACCESS_RIGHTS = 133;
77    const DENIED_POINT_NO_ACCESS_RIGHTS = 134;
78    const DENIED_NO_ACCESS_RIGHTS = 135;
79    const DENIED_OUT_OF_TIME_RANGE = 136;
80    const DENIED_THREAT_LEVEL = 137;
81    const DENIED_PASSBACK = 138;
82    const DENIED_UNEXPECTED_LOCATION_USAGE = 139;
83    const DENIED_MAX_ATTEMPTS = 140;
84    const DENIED_LOWER_OCCUPANCY_LIMIT = 141;
85    const DENIED_UPPER_OCCUPANCY_LIMIT = 142;
86    const DENIED_AUTHENTICATION_FACTOR_LOST = 143;
87    const DENIED_AUTHENTICATION_FACTOR_STOLEN = 144;
88    const DENIED_AUTHENTICATION_FACTOR_DAMAGED = 145;
89    const DENIED_AUTHENTICATION_FACTOR_DESTROYED = 146;
90    const DENIED_AUTHENTICATION_FACTOR_DISABLED = 147;
91    const DENIED_AUTHENTICATION_FACTOR_ERROR = 148;
92    const DENIED_CREDENTIAL_UNASSIGNED = 149;
93    const DENIED_CREDENTIAL_NOT_PROVISIONED = 150;
94    const DENIED_CREDENTIAL_NOT_YET_ACTIVE = 151;
95    const DENIED_CREDENTIAL_EXPIRED = 152;
96    const DENIED_CREDENTIAL_MANUAL_DISABLE = 153;
97    const DENIED_CREDENTIAL_LOCKOUT = 154;
98    const DENIED_CREDENTIAL_MAX_DAYS = 155;
99    const DENIED_CREDENTIAL_MAX_USES = 156;
100    const DENIED_CREDENTIAL_INACTIVITY = 157;
101    const DENIED_CREDENTIAL_DISABLED = 158;
102    const DENIED_NO_ACCOMPANIMENT = 159;
103    const DENIED_INCORRECT_ACCOMPANIMENT = 160;
104    const DENIED_LOCKOUT = 161;
105    const DENIED_VERIFICATION_FAILED = 162;
106    const DENIED_VERIFICATION_TIMEOUT = 163;
107    const DENIED_OTHER = 164;
108}
109
110bacnet_enum! {
111    /// BACnet access credential disable (Clause 21).
112    pub struct AccessCredentialDisable(u32);
113
114    const NONE = 0;
115    const DISABLE = 1;
116    const DISABLE_MANUAL = 2;
117    const DISABLE_LOCKOUT = 3;
118}
119
120bacnet_enum! {
121    /// BACnet access credential disable reason (Clause 21).
122    pub struct AccessCredentialDisableReason(u32);
123
124    const DISABLED = 0;
125    const DISABLED_NEEDS_PROVISIONING = 1;
126    const DISABLED_UNASSIGNED = 2;
127    const DISABLED_NOT_YET_ACTIVE = 3;
128    const DISABLED_EXPIRED = 4;
129    const DISABLED_LOCKOUT = 5;
130    const DISABLED_MAX_DAYS = 6;
131    const DISABLED_MAX_USES = 7;
132    const DISABLED_INACTIVITY = 8;
133    const DISABLED_MANUAL = 9;
134}
135
136bacnet_enum! {
137    /// BACnet access user type (Clause 12.35).
138    pub struct AccessUserType(u32);
139
140    const ASSET = 0;
141    const GROUP = 1;
142    const PERSON = 2;
143}
144
145bacnet_enum! {
146    /// BACnet authorization mode (Clause 12.31).
147    pub struct AuthorizationMode(u32);
148
149    const AUTHORIZE = 0;
150    const GRANT_ACTIVE = 1;
151    const DENY_ALL = 2;
152    const VERIFICATION_REQUIRED = 3;
153    const AUTHORIZATION_DELAYED = 4;
154    const NONE = 5;
155}
156
157bacnet_enum! {
158    /// BACnet access passback mode (Clause 12.32).
159    pub struct AccessPassbackMode(u32);
160
161    const PASSBACK_OFF = 0;
162    const HARD_PASSBACK = 1;
163    const SOFT_PASSBACK = 2;
164}