Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:log_management_api [2018/03/14 14:32] yjjung [BS2Event] |
en:log_management_api [2021/08/06 15:40] kateyu [BS2Event] |
||
---|---|---|---|
Line 8: | Line 8: | ||
* [[BS2_ClearLog]]: Deletes all logs. | * [[BS2_ClearLog]]: Deletes all logs. | ||
* [[BS2_StartMonitoringLog]]: Starts Real-time log streaming. | * [[BS2_StartMonitoringLog]]: Starts Real-time log streaming. | ||
+ | * [[BS2_StartMonitoringLogEx]]: [+ V2.7.1] Starts Real-time log streaming including the temperature information. | ||
* [[BS2_StopMonitoringLog]]: Stops Real-time log streaming. | * [[BS2_StopMonitoringLog]]: Stops Real-time log streaming. | ||
* [[BS2_GetLogBlob]]: Gets certain amount of logs based on the event mask. | * [[BS2_GetLogBlob]]: Gets certain amount of logs based on the event mask. | ||
* [[BS2_GetFilteredLogSinceEventId]]: Gets filtered logs. | * [[BS2_GetFilteredLogSinceEventId]]: Gets filtered logs. | ||
+ | * [[BS2_GetImageLog]] : Gets image logs using event ID. | ||
+ | * [[BS2_GetLogSmallBlob]]: [+ 2.6.4] Gets certain amount of logs based on the event mask in an efficient way. | ||
+ | * [[BS2_GetLogSmallBlobEx]]: [+ 2.7.1] Gets certain amount of logs based on the event mask in an efficient way, including the temperature information. | ||
===== Callback Function ===== | ===== Callback Function ===== | ||
+ | ==== OnLogReceived ==== | ||
+ | Callback function that is called when receiving a new log from the device. \\ \\ | ||
<code cpp> | <code cpp> | ||
typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log); | typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log); | ||
</code> | </code> | ||
\\ | \\ | ||
+ | 1. //deviceId// \\ | ||
+ | Device ID \\ \\ | ||
+ | 2. //log// \\ | ||
+ | New log information structure \\ \\ | ||
- | **1. //OnLogReceived//** \\ | + | ==== OnLogReceivedEx ==== |
- | Callback function that is called when a new log is received. \\ \\ | + | [+ V2.7.1] Callback function that is called when receiving a new log from the device. \\ |
+ | The temperature information is transferred as the 3rd parameter, and auditTemperature should be true in [[configuration api#BS2FaceConfigExt]]. \\ \\ | ||
+ | <code cpp> | ||
+ | typedef void (*OnLogReceivedEx)(uint32_t deviceId, BS2Event* log, uint32_t temperature); | ||
+ | </code> | ||
+ | \\ | ||
+ | 1. //deviceId// \\ | ||
+ | Device ID \\ \\ | ||
+ | 2. //log// \\ | ||
+ | New log information structure \\ \\ | ||
+ | 3. //temperature// \\ | ||
+ | Temperature information \\ \\ | ||
Line 53: | Line 74: | ||
uint8_t reserved[12]; | uint8_t reserved[12]; | ||
} interlock; | } interlock; | ||
+ | struct { | ||
+ | uint16_t relayPort; | ||
+ | uint16_t inputPort; | ||
+ | uint8_t reserved[28]; | ||
+ | } relayAction; | ||
}; | }; | ||
union { | union { | ||
Line 112: | Line 138: | ||
**15. //interlock.doorID//** \\ | **15. //interlock.doorID//** \\ | ||
Door ID that makes interlock zone alarms. \\ \\ | Door ID that makes interlock zone alarms. \\ \\ | ||
- | **16. //subCode//** \\ | + | **16. //relayAction.relayPort//** \\ |
+ | Relay port identifier when IM-120 RelayAction takes place. \\ \\ | ||
+ | **17. //relayAction.inputPort//** \\ | ||
+ | Relay port identifier when IM-120 RelayAction takes place. \\ \\ | ||
+ | **18. //subCode//** \\ | ||
Sub code value of log types. Use if the additional information is necessary. \\ | Sub code value of log types. Use if the additional information is necessary. \\ | ||
- | ^Category ^Event code ^Value ^Description ^ | + | ^Category ^Event code ^Value ^Description ^ |
|Verify |BS2_SUB_EVENT_VERIFY_ID_PIN |0x01 |ID and PIN verification success | | |Verify |BS2_SUB_EVENT_VERIFY_ID_PIN |0x01 |ID and PIN verification success | | ||
|::: |BS2_SUB_EVENT_VERIFY_ID_FINGER |0x02 |ID and fingerprint verification success | | |::: |BS2_SUB_EVENT_VERIFY_ID_FINGER |0x02 |ID and fingerprint verification success | | ||
Line 120: | Line 150: | ||
|::: |BS2_SUB_EVENT_VERIFY_ID_FACE |0x04 |ID and face verification success | | |::: |BS2_SUB_EVENT_VERIFY_ID_FACE |0x04 |ID and face verification success | | ||
|::: |BS2_SUB_EVENT_VERIFY_ID_FACE_PIN |0x05 |ID, face, and PIN verification success | | |::: |BS2_SUB_EVENT_VERIFY_ID_FACE_PIN |0x05 |ID, face, and PIN verification success | | ||
- | |::: |BS2_SUB_EVENT_VERIFY_CARD |0x06 |Smart card verification success | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD |0x06 |Card verification success | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_PIN |0x07 |Smart card and PIN verification success | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_PIN |0x07 |Card and PIN verification success | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER |0x08 |Smart card and fingerprint verification success | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER |0x08 |Card and fingerprint verification success | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER_PIN |0x09 |Smart card, fingerprint, and PIN verification success | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER_PIN |0x09 |Card, fingerprint, and PIN verification success | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE |0x0A |Smart card and face verification success | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE |0x0A |Card and face verification success | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE_PIN |0x0B |Smart card, PIN, and face verification success | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE_PIN |0x0B |Card, PIN, and face verification success | |
|::: |BS2_SUB_EVENT_VERIFY_AOC |0x0C |AOC card verification success | | |::: |BS2_SUB_EVENT_VERIFY_AOC |0x0C |AOC card verification success | | ||
|::: |BS2_SUB_EVENT_VERIFY_AOC_PIN |0x0D |AOC card and PIN verification success | | |::: |BS2_SUB_EVENT_VERIFY_AOC_PIN |0x0D |AOC card and PIN verification success | | ||
|::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER |0x0E |AOC card and fingerprint verification success | | |::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER |0x0E |AOC card and fingerprint verification success | | ||
|::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER_PIN |0x0F |AOC card, fingerprint, PIN verification success | | |::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER_PIN |0x0F |AOC card, fingerprint, PIN verification success | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBLIE_CARD |0x16 |Mobile card verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_PIN |0x17 |Mobile card and PIN verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER |0x18 |Mobile card and fingerprint verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER_PIN |0x19 |Mobile card, fingerprint, PIN verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE |0x1A |Mobile card and face verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE_PIN |0x1B |Mobile card, face, PIN verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE_FINGER |0x20 |Mobile card, face, fingerprint verification success (+V2.8) | | ||
+ | |::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER_FACE |0x21 |Mobile card, fingerprint, face verification success (+V2.8) | | ||
|Identify |BS2_SUB_EVENT_IDENTIFY_FINGER |0x01 |Fingerprint identification success | | |Identify |BS2_SUB_EVENT_IDENTIFY_FINGER |0x01 |Fingerprint identification success | | ||
|::: |BS2_SUB_EVENT_IDENTIFY_FINGER_PIN |0x02 |Fingerprint and PIN identification success | | |::: |BS2_SUB_EVENT_IDENTIFY_FINGER_PIN |0x02 |Fingerprint and PIN identification success | | ||
Line 137: | Line 175: | ||
|::: |BS2_SUB_EVENT_DUAL_AUTH_FAIL_ACCESS_GROUP |0x02 |Attempted the dual authentication with invalid user| | |::: |BS2_SUB_EVENT_DUAL_AUTH_FAIL_ACCESS_GROUP |0x02 |Attempted the dual authentication with invalid user| | ||
|Credential |BS2_SUB_EVENT_CREDENTIAL_ID |0x01 |Invalid user ID| | |Credential |BS2_SUB_EVENT_CREDENTIAL_ID |0x01 |Invalid user ID| | ||
- | |::: |BS2_SUB_EVENT_CREDENTIAL_CARD |0x02 |Invalid Smart card | | + | |::: |BS2_SUB_EVENT_CREDENTIAL_CARD |0x02 |Invalid card | |
|::: |BS2_SUB_EVENT_CREDENTIAL_PIN |0x03 |Invalid PIN | | |::: |BS2_SUB_EVENT_CREDENTIAL_PIN |0x03 |Invalid PIN | | ||
|::: |BS2_SUB_EVENT_CREDENTIAL_FINGER |0x04 |Invalid fingerprint | | |::: |BS2_SUB_EVENT_CREDENTIAL_FINGER |0x04 |Invalid fingerprint | | ||
Line 143: | Line 181: | ||
|::: |BS2_SUB_EVENT_CREDENTIAL_AOC_PIN |0x06 |Invalid AOC PIN | | |::: |BS2_SUB_EVENT_CREDENTIAL_AOC_PIN |0x06 |Invalid AOC PIN | | ||
|::: |BS2_SUB_EVENT_CREDENTIAL_AOC_FINGER |0x07 |Invalid AOC fingerprint | | |::: |BS2_SUB_EVENT_CREDENTIAL_AOC_FINGER |0x07 |Invalid AOC fingerprint | | ||
+ | |::: |BS2_SUB_EVENT_CREDENTIAL_MOBILE_CARD |0x08 |Invalid mobile card (+V2.8) | | ||
|Auth |BS2_SUB_EVENT_AUTH_FAIL_INVALID_AUTH_MODE |0x01 |Invalid authentication mode | | |Auth |BS2_SUB_EVENT_AUTH_FAIL_INVALID_AUTH_MODE |0x01 |Invalid authentication mode | | ||
|::: |BS2_SUB_EVENT_AUTH_FAIL_INVALID_CREDENTIAL |0x02 |Non-registered authentication method| | |::: |BS2_SUB_EVENT_AUTH_FAIL_INVALID_CREDENTIAL |0x02 |Non-registered authentication method| | ||
Line 155: | Line 194: | ||
|APB |BS2_SUB_EVENT_ZONE_HARD_APB |0x01 |Hard APB zone | | |APB |BS2_SUB_EVENT_ZONE_HARD_APB |0x01 |Hard APB zone | | ||
|::: |BS2_SUB_EVENT_ZONE_SOFT_APB |0x02 |Soft APB zone | | |::: |BS2_SUB_EVENT_ZONE_SOFT_APB |0x02 |Soft APB zone | | ||
- | + | **19. //mainCode//** \\ | |
- | **17. //mainCode//** \\ | + | |
Main code value of log types. \\ | Main code value of log types. \\ | ||
^Category ^Event code ^Value ^Description ^ | ^Category ^Event code ^Value ^Description ^ | ||
Line 178: | Line 216: | ||
|::: |BS2_EVENT_USER_DELETE_ALL_SUCCESS |0x2600 |Delete all user success | | |::: |BS2_EVENT_USER_DELETE_ALL_SUCCESS |0x2600 |Delete all user success | | ||
|::: |BS2_EVENT_USER_ISSUE_AOC_SUCCESS |0x2700 |Authentication success with access card | | |::: |BS2_EVENT_USER_ISSUE_AOC_SUCCESS |0x2700 |Authentication success with access card | | ||
+ | |::: |BS2_EVENT_USER_DUPLICATE_CREDENTIAL |0x2800 |Duplicated credential(Card/Fingerprint/Face) detection| | ||
|Device |BS2_EVENT_DEVICE_SYSTEM_RESET |0x3000 |System reset | | |Device |BS2_EVENT_DEVICE_SYSTEM_RESET |0x3000 |System reset | | ||
|::: |BS2_EVENT_DEVICE_SYSTEM_STARTED |0x3100 |System started | | |::: |BS2_EVENT_DEVICE_SYSTEM_STARTED |0x3100 |System started | | ||
Line 237: | Line 276: | ||
|::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM |0x6E00 |Scheduled lock alarm zone start | | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM |0x6E00 |Scheduled lock alarm zone start | | ||
|::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM_CLEAR |0x6F00 |Scheduled lock alarm zone clear | | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM_CLEAR |0x6F00 |Scheduled lock alarm zone clear | | ||
+ | | | ||
+ | |RelayAction |BS2_EVENT_RELAY_ACTION_ON |0xC300 |RelayAction Switch-ON | | ||
+ | |::: |BS2_EVENT_RELAY_ACTION_OFF |0xC400 |RelayAction Switch-OFF | | ||
+ | |::: |BS2_EVENT_RELAY_ACTION_KEEP |0xC500 |RelayAction KEEP SIGNAL | | ||
- | **18. //param//** \\ | + | |
+ | **20.//param//** \\ | ||
It is used only when extra information on the device is needed. Usually, a time and attendance code, a port number of the door or input device is stored in the //param// argument. | It is used only when extra information on the device is needed. Usually, a time and attendance code, a port number of the door or input device is stored in the //param// argument. | ||
When a time and attendance code is stored, refer to the following values: | When a time and attendance code is stored, refer to the following values: | ||
Line 261: | Line 305: | ||
|:::|BS2_TNA_KEY_16|Esc|16| | |:::|BS2_TNA_KEY_16|Esc|16| | ||
</WRAP> | </WRAP> | ||
+ | \\ | ||
+ | **[+ 2.6.3] Additional feature of param** \\ | ||
+ | Only if the event code is relevant to the user. \\ | ||
+ | If you add, modify or delete users directly from the device, param is 1, 0 if done through BioStar. \\ | ||
+ | For example, if param was 1 with the event BS2_EVENT_USER_ENROLL_SUCCESS, it means the user was added directly on the device. \\ | ||
+ | This feature is supported from the firmware version below. | ||
+ | <WRAP group 60%> | ||
+ | ^Device Type ^Supported Ver. ^ | ||
+ | |BioStation 2 |V1.7.0 | | ||
+ | |BioStation A2 |V1.6.0 | | ||
+ | |CoreStation 40 |V1.2.0 | | ||
+ | |BioEntry P2 |V1.2.0 | | ||
+ | |BioStation L2 |V1.4.0 | | ||
+ | |BioLite N2 |V1.1.0 | | ||
+ | |BioEntry W2 |V1.3.0 | | ||
+ | |FaceStation 2 |V1.2.0| | ||
+ | </WRAP> | ||
+ | \\ \\ | ||
- | + | **21. //image//** \\ | |
- | **19. //image//** \\ | + | |
Prior to SDK V2.6.0, it used the whole 1 byte and means below: \\ | Prior to SDK V2.6.0, it used the whole 1 byte and means below: \\ | ||
- Whether the image was included when the event occurred (true / false). \\ \\ | - Whether the image was included when the event occurred (true / false). \\ \\ | ||
Line 306: | Line 367: | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^Value ^Description ^ | ^Value ^Description ^ | ||
- | |0 |None | | + | |0x0000 |None| |
- | |1 |BS2EventExtInfo structure | | + | |0x0001 |BS2EventExtInfo Structure| |
- | |2 |User ID | | + | |0x0002 |User ID | |
- | |4 |Card ID | | + | |0x0004 |Card ID | |
- | |8 |Door ID | | + | |0x0008 |Door ID | |
- | |16 |Zone ID | | + | |0x0010 |Zone ID | |
- | |32 |BS2EventExtIoDevice structure | | + | |0x0020 |BS2EventExtIoDevice Structure| |
- | |64 |Door ID | | + | |0x0040 |TNA Key | |
- | |128 |Zone ID | | + | |0x0080 |Job Code | |
- | |256 |TNA Key | | + | |0x0100 |Image | |
- | |512 |Job Code | | + | |0x0200 |Temperature | |
- | |1024 |Image | | + | |0xFFFF |ALL | |
- | |65535 |ALL | | + | |
</WRAP> | </WRAP> | ||
2. //id// \\ | 2. //id// \\ | ||
Line 327: | Line 387: | ||
User ID related to log. When the value is 0, the log is not relevant to user. \\ \\ | User ID related to log. When the value is 0, the log is not relevant to user. \\ \\ | ||
5. //cardID// \\ | 5. //cardID// \\ | ||
- | Card ID related to log. When the value is 0, the log is not relevant to card. \\ \\ | + | Card ID related to log. When the value is 0, the log is not relevant to card. \\ |
+ | The device records card ID only for failure auth, it returns user ID when successful auth regardless of eventMask value. \\ \\ | ||
6. //doorID// \\ | 6. //doorID// \\ | ||
Door ID related to log. When the value is 0, the log is not relevant to door. \\ \\ | Door ID related to log. When the value is 0, the log is not relevant to door. \\ \\ | ||
Line 401: | Line 462: | ||
4. //reserved// \\ | 4. //reserved// \\ | ||
Reserved space.\\ \\ | Reserved space.\\ \\ | ||
+ | |||
+ | ==== BS2EventSmallBlob ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint16_t eventMask; | ||
+ | uint32_t id; | ||
+ | BS2EventExtInfo info; | ||
+ | union | ||
+ | { | ||
+ | BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID | ||
+ | uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID | ||
+ | BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID | ||
+ | BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID | ||
+ | BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE | ||
+ | }; | ||
+ | uint8_t tnaKey; | ||
+ | uint32_t jobCode; | ||
+ | uint16_t imageSize; | ||
+ | uint8_t* imageObj; // valid if eventMask has BS2_EVENT_MASK_IMAGE | ||
+ | uint8_t reserved; | ||
+ | } BS2EventSmallBlob; | ||
+ | </code> | ||
+ | \\ | ||
+ | |||
+ | 1. //eventMask// \\ | ||
+ | Event mask value. Logs will be retrieved based on the mask value such as user, card, door, or zone.\\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0x0000 |None| | ||
+ | |0x0001 |BS2EventExtInfo Structure| | ||
+ | |0x0002 |User ID | | ||
+ | |0x0004 |Card ID | | ||
+ | |0x0008 |Door ID | | ||
+ | |0x0010 |Zone ID | | ||
+ | |0x0020 |BS2EventExtIoDevice Structure| | ||
+ | |0x0040 |TNA Key | | ||
+ | |0x0080 |Job Code | | ||
+ | |0x0100 |Image | | ||
+ | |0x0200 |Temperature | | ||
+ | |0xFFFF |ALL | | ||
+ | </WRAP> | ||
+ | 2. //id// \\ | ||
+ | Log record ID which automatically increases from 1 when the log is generated. \\ \\ | ||
+ | 3. //info// \\ | ||
+ | BS2EventExtInfo structure information. \\ \\ | ||
+ | 4. //userID// \\ | ||
+ | User ID related to log. When the value is 0, the log is not relevant to user. \\ \\ | ||
+ | 5. //cardID// \\ | ||
+ | Card ID related to log. When the value is 0, the log is not relevant to card. \\ | ||
+ | The device records card ID only for failure auth, it returns user ID when successful auth regardless of eventMask value. \\ \\ | ||
+ | 6. //doorID// \\ | ||
+ | Door ID related to log. When the value is 0, the log is not relevant to door. \\ \\ | ||
+ | 7. //zoneID// \\ | ||
+ | Zone ID related to log. When the value is 0, the log is not relevant to zone. \\ \\ | ||
+ | 8. //ioDevice// \\ | ||
+ | Door or input device ID related to log. When the value is 0, the log is not relevant to door or input. Refer to BS2EventExtIoDevice structure.\\ \\ | ||
+ | 9. //tnaKey// \\ | ||
+ | The T&A key that has been used for the authentication. When the value is 0, the log is not relevant to T&A key. \\ \\ | ||
+ | 10. //jobCode// \\ | ||
+ | The job code that has been used for the authentication. When the value is 0, the log is not relevant to job code. \\ \\ | ||
+ | 11. //imageSize// \\ | ||
+ | Size of the image when there is an image log. \\ \\ | ||
+ | 12. //imageObj// \\ | ||
+ | Data of the image. \\ \\ | ||
+ | 13. //reserved// \\ | ||
+ | Reserved space.\\ \\ | ||
+ | |||
+ | |||
+ | |||
+ | ==== BS2EventSmallBlobEx ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint16_t eventMask; | ||
+ | uint32_t id; | ||
+ | BS2EventExtInfo info; // valid if eventMask has BS2_EVENT_MASK_INFO | ||
+ | union | ||
+ | { | ||
+ | BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID | ||
+ | uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID | ||
+ | BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID | ||
+ | BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID | ||
+ | BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE | ||
+ | }; | ||
+ | uint8_t tnaKey; // valid if eventMask has BS2_EVENT_MASK_TNA_KEY | ||
+ | uint32_t jobCode; // valid if eventMask has BS2_EVENT_MASK_JOB_CODE | ||
+ | uint16_t imageSize; // valid if eventMask has BS2_EVENT_MASK_IMAGE | ||
+ | uint8_t* imageObj; // valid if eventMask has BS2_EVENT_MASK_IMAGE | ||
+ | uint8_t reserved; | ||
+ | uint32_t temperature; // valid if eventMask has BS2_EVENT_MASK_TEMPERATURE | ||
+ | } BS2EventSmallBlobEx; | ||
+ | </code> | ||
+ | \\ | ||
+ | |||
+ | 1. //eventMask// \\ | ||
+ | Event mask value. Logs will be retrieved based on the mask value such as user, card, door, or zone.\\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0x0000 |None| | ||
+ | |0x0001 |BS2EventExtInfo Structure| | ||
+ | |0x0002 |User ID | | ||
+ | |0x0004 |Card ID | | ||
+ | |0x0008 |Door ID | | ||
+ | |0x0010 |Zone ID | | ||
+ | |0x0020 |BS2EventExtIoDevice Structure| | ||
+ | |0x0040 |TNA Key | | ||
+ | |0x0080 |Job Code | | ||
+ | |0x0100 |Image | | ||
+ | |0x0200 |Temperature | | ||
+ | |0xFFFF |ALL | | ||
+ | </WRAP> | ||
+ | 2. //id// \\ | ||
+ | Log record ID which automatically increases from 1 when the log is generated. \\ \\ | ||
+ | 3. //info// \\ | ||
+ | BS2EventExtInfo structure information. \\ \\ | ||
+ | 4. //userID// \\ | ||
+ | User ID related to log. When the value is 0, the log is not relevant to user. \\ \\ | ||
+ | 5. //cardID// \\ | ||
+ | Card ID related to log. When the value is 0, the log is not relevant to card. \\ | ||
+ | The device records card ID only for failure auth, it returns user ID when successful auth regardless of eventMask value. \\ \\ | ||
+ | 6. //doorID// \\ | ||
+ | Door ID related to log. When the value is 0, the log is not relevant to door. \\ \\ | ||
+ | 7. //zoneID// \\ | ||
+ | Zone ID related to log. When the value is 0, the log is not relevant to zone. \\ \\ | ||
+ | 8. //ioDevice// \\ | ||
+ | Door or input device ID related to log. When the value is 0, the log is not relevant to door or input. Refer to BS2EventExtIoDevice structure.\\ \\ | ||
+ | 9. //tnaKey// \\ | ||
+ | The T&A key that has been used for the authentication. When the value is 0, the log is not relevant to T&A key. \\ \\ | ||
+ | 10. //jobCode// \\ | ||
+ | The job code that has been used for the authentication. When the value is 0, the log is not relevant to job code. \\ \\ | ||
+ | 11. //imageSize// \\ | ||
+ | Size of the image when there is an image log. \\ \\ | ||
+ | 12. //image// \\ | ||
+ | Data of the image. \\ \\ | ||
+ | 13. //temperature// \\ | ||
+ | Temperature information is set when there's a thermal camera installed and setting to record event logs. [[configuration api#BS2FaceConfigExt|Refer to auditTemperature]] \\ \\ | ||
+ | 14. //reserved// \\ | ||
+ | Reserved. \\ \\ |