Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
en:device_api [2022/10/05 14:29]
sungjun
en:device_api [2023/08/16 15:34]
mashin
Line 697: Line 697:
 37. //​reserved//​ \\  37. //​reserved//​ \\ 
 Reserved space.\\ \\  Reserved space.\\ \\ 
 +
 +
 +==== BS2DeviceCapabilities ====
 +''​[+ 2.8]''​
 +<code cpp>
 +typedef struct {
 +    uint32_t maxUsers; ​               ///< 4 bytes
 +    uint32_t maxEventLogs; ​           ///< 4 bytes
 +    uint32_t maxImageLogs; ​           ///< 4 bytes
 +    uint32_t maxBlacklists; ​          ///<​ 4 bytes
 +    uint32_t maxOperators; ​           ///< 4 bytes
 +    uint32_t maxCards; ​               ///< 4 bytes
 +    uint32_t maxFaces; ​               ///< 4 bytes
 +    uint32_t maxFingerprints; ​        ///<​ 4 bytes
 +    uint32_t maxUserNames; ​           ///< 4 bytes
 +    uint32_t maxUserImages; ​          ///<​ 4 bytes
 +    uint32_t maxUserJobs; ​            ///<​ 4 bytes
 +    uint32_t maxUserPhrases; ​         ///< 4 bytes
 +    uint8_t maxOutputPorts; ​          ///<​ 1 byte
 +    uint8_t maxRelays; ​               ///< 1 byte
 +    uint8_t maxRS485Channels; ​        ///<​ 1 byte
 +
 +    uint8_t cameraSupported:​ 1;
 +    uint8_t tamperSupported:​ 1;
 +    uint8_t wlanSupported:​ 1;
 +    uint8_t displaySupported:​ 1;
 +    uint8_t thermalSupported:​ 1;
 +    uint8_t maskSupported:​ 1;
 +    uint8_t faceExSupported:​ 1;
 +    uint8_t unused: 1;
 +
 +    union {
 +        uint32_t mask;                ///< 4 bytes
 +        struct {
 +            uint32_t EM: 1;
 +            uint32_t HIDProx: 1;
 +            uint32_t MifareFelica:​ 1;
 +            uint32_t iClass: 1;
 +            uint32_t ClassicPlus:​ 1;
 +            uint32_t DesFireEV1: 1;
 +            uint32_t SRSE: 1;
 +            uint32_t SEOS: 1;
 +            uint32_t NFC: 1;
 +            uint32_t BLE: 1;
 +            uint32_t reserved: 21;
 +            uint32_t useCardOperation:​ 1;
 +        };
 +    } cardSupported;​
 +
 +    struct {
 +        BS2_BOOL extendedMode; ​       ///< 1 byte
 +        union {
 +            uint8_t mask;             ///<​ 1 byte
 +            struct {
 +                uint8_t card: 1;
 +                uint8_t fingerprint:​ 1;
 +                uint8_t face: 1;
 +                uint8_t id: 1;
 +                uint8_t pin: 1;
 +                uint8_t reserved: 3;
 +            };
 +        } credentials;​
 +        uint8_t reserved[2]; ​         ///< 2 bytes
 +        union {
 +            struct {
 +                union {
 +                    uint8_t mask;     ///<​ 1 byte
 +                    struct {
 +                        uint8_t biometricOnly:​ 1;
 +                        uint8_t biometricPIN:​ 1;
 +                        uint8_t unused: 6;
 +                    };
 +                } biometricAuth;​
 +
 +                union {
 +                    uint8_t mask;     ///<​ 1 byte
 +                    struct {
 +                        uint8_t cardOnly: 1;
 +                        uint8_t cardBiometric:​ 1;
 +                        uint8_t cardPIN: 1;
 +                        uint8_t cardBiometricOrPIN:​ 1;
 +                        uint8_t cardBiometricPIN:​ 1;
 +                        uint8_t unused: 3;
 +                    };
 +                } cardAuth;
 +
 +                union {
 +                    uint8_t mask;     ///<​ 1 byte
 +                    struct {
 +                        uint8_t idBiometric:​ 1;
 +                        uint8_t idPIN: 1;
 +                        uint8_t idBiometricOrPIN:​ 1;
 +                        uint8_t idBiometricPIN:​ 1;
 +                        uint8_t unused: 4;
 +                    };
 +                } idAuth;
 +            } legacy;
 +
 +            struct {
 +                union {
 +                    uint32_t mask;    ///< 4 bytes
 +                    struct {
 +                        uint32_t faceOnly: 1;
 +                        uint32_t faceFingerprint:​ 1;
 +                        uint32_t facePIN: 1;
 +                        uint32_t faceFingerprintOrPIN:​ 1;
 +                        uint32_t faceFingerprintPIN:​ 1;
 +                        uint32_t unused: 27;
 +                    };
 +                } faceAuth;
 +
 +                union {
 +                    uint32_t mask;    ///< 4 bytes
 +                    struct {
 +                        uint32_t fingerprintOnly:​ 1;
 +                        uint32_t fingerprintFace:​ 1;
 +                        uint32_t fingerprintPIN:​ 1;
 +                        uint32_t fingerprintFaceOrPIN:​ 1;
 +                        uint32_t fingerprintFacePIN:​ 1;
 +                        uint32_t unused: 27;
 +                    };
 +                } fingerprintAuth;​
 +
 +                union {
 +                    uint32_t mask;    ///< 4 bytes
 +                    struct {
 +                        uint32_t cardOnly: 1;
 +                        uint32_t cardFace: 1;
 +                        uint32_t cardFingerprint:​ 1;
 +                        uint32_t cardPIN: 1;
 +                        uint32_t cardFaceOrFingerprint:​ 1;
 +                        uint32_t cardFaceOrPIN:​ 1;
 +                        uint32_t cardFingerprintOrPIN:​ 1;
 +                        uint32_t cardFaceOrFingerprintOrPIN:​ 1;
 +                        uint32_t cardFaceFingerprint:​ 1;
 +                        uint32_t cardFacePIN:​ 1;
 +                        uint32_t cardFingerprintFace:​ 1;
 +                        uint32_t cardFingerprintPIN:​ 1;
 +                        uint32_t cardFaceOrFingerprintPIN:​ 1;
 +                        uint32_t cardFaceFingerprintOrPIN:​ 1;
 +                        uint32_t cardFingerprintFaceOrPIN:​ 1;
 +                        uint32_t unused: 17;
 +                    };
 +                } cardAuth;
 +
 +                union {
 +                    uint32_t mask;    ///< 4 bytes
 +                    struct {
 +                        uint32_t idFace: 1;
 +                        uint32_t idFingerprint:​ 1;
 +                        uint32_t idPIN: 1;
 +                        uint32_t idFaceOrFingerprint:​ 1;
 +                        uint32_t idFaceOrPIN:​ 1;
 +                        uint32_t idFingerprintOrPIN:​ 1;
 +                        uint32_t idFaceOrFingerprintOrPIN:​ 1;
 +                        uint32_t idFaceFingerprint:​ 1;
 +                        uint32_t idFacePIN: 1;
 +                        uint32_t idFingerprintFace:​ 1;
 +                        uint32_t idFingerprintPIN:​ 1;
 +                        uint32_t idFaceOrFingerprintPIN:​ 1;
 +                        uint32_t idFaceFingerprintOrPIN:​ 1;
 +                        uint32_t idFingerprintFaceOrPIN:​ 1;
 +                        uint32_t unused: 18;
 +                    };
 +                } idAuth;
 +            } extended;
 +        };
 +    } authSupported;​
 +
 +    uint8_t intelligentPDSupported:​ 1;
 +    uint8_t updateUserSupported:​ 1;
 +    uint8_t simulatedUnlockSupported:​ 1;
 +    uint8_t smartCardByteOrderSupported:​ 1;
 +    uint8_t treatAsCSNSupported:​ 1;
 +    uint8_t rtspSupported:​ 1;
 +    uint8_t lfdSupported:​ 1;
 +    uint8_t visualQRSupported:​ 1;
 +
 +    uint8_t maxVoipExtensionNumbers;​ ///<​ 1 byte
 +    uint8_t osdpStandardCentralSupported : 1; ///< 1 byte
 +    uint8_t enableLicenseFuncSupported : 1;   ///<​ 1 byte
 +    uint8_t keypadBacklightSupported:​ 1;
 +    uint8_t uzWirelessLockDoorSupported:​ 1;
 +    uint8_t customSmartCardSupported:​ 1; 
 +    uint8_t tomSupported:​ 1;
 +    uint8_t unused2: 2; ///< 1 byte
 +
 +    uint8_t reserved[429];​
 +} BS2DeviceCapabilities;​
 +</​code>​
 +1. //​maxUsers//​ \\ 
 +Indicates the maximum number of information that can be stored on the device. (User) \\ \\
 +2. //​maxEventLogs//​ \\ 
 +Indicates the maximum number of information that can be stored on the device. (Event log) \\ \\
 +3. //​maxImageLogs//​ \\ 
 +Indicates the maximum number of information that can be stored on the device. (Image log) \\ \\
 +4. //​maxBlacklists//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Blacklist) \\ \\
 +5. //​maxOperators//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Operator) \\ \\
 +6. //​maxCards//​ \\ 
 +Indicates the maximum number of information that can be stored on the device. (Card) ​ \\ \\
 +7. //​maxFaces//​ \\ 
 +Indicates the maximum number of information that can be stored on the device. (Face) \\ \\
 +8. //​maxFingerprints//​ \\ 
 +Indicates the maximum number of information that can be stored on the device. (Fingerprint) \\ \\
 +9. //​maxUserNames//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Username) \\ \\
 +10. //​maxUserImages//​ \\
 +Indicates the maximum number of information that can be stored on the device. (user image) \\ \\
 +11. //​maxUserJobs//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Job code) \\ \\
 +12. //​maxUserPhrases//​ \\
 +Indicates the maximum number of information that can be stored on the device. (User phrase) \\ \\
 +13. //​maxCardsPerUser//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Card per user) \\ \\
 +14. //​maxFacesPerUser//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Face per user) \\ \\
 +15. //​maxFingerprintsPerUser//​ \\
 +Indicates the maximum number of information that can be stored on the device. (Fingerprint per user) \\ \\
 +16. //​maxInputPorts//​ \\
 +Indicates the maximum number of information that can be stored on the device. (input port of device) \\ \\
 +17. //​maxOutputPorts//​ \\
 +Indicates the maximum number of information that can be stored on the device. (output port of device) \\ \\
 +18. //​maxRelays//​ \\
 +Indicates the maximum number of information that can be stored on the device. (relay on device) \\ \\
 +19. //​maxRS485Channels//​ \\
 +Indicates the maximum number of information that can be stored on the device. (RS485 channel) \\ \\
 +20. //System support information//​ \\
 +It indicates the system information supported by the device in bit units as follows. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|0  |1  |cameraSupported ​ |Camera Support or not  |
 +|1  |1  |tamperSupported ​ |Tamper Support or not  |
 +|2  |1  |wlanSupported ​ |WLAN Support or not  |
 +|3  |1  |displaySupported ​ |Available LCD or not  |
 +|4  |1  |thermalSupported ​ |TCM 10 (Thermal Detection) Support or not  |
 +|5  |1  |maskSupported ​ |Mask Detection Support or not  |
 +|6  |1  |faceExSupported ​ |Visual Face device such as FaceStation F2 or not  |
 +|7  |1  |unused ​ |Unassigned ​ |
 +21. //​cardSupported//​ \\
 +This indicates the card support relevant. \\
 +Referring to mask value, you can access each item in its entirety or in bit units. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |total Information ​ |
 +|0  |1  |EM  |EM Card  |
 +|1  |1  |HIDProx ​ |HID Proximity Card  |
 +|2  |1  |MifareFelica ​ |MIFARE / FeliCa ​ |
 +|3  |1  |iClass ​ |iClass Card  |
 +|4  |1  |ClassicPlus ​ |Classic plus Card  |
 +|5  |1  |DesFireEV1 ​ |DESFire EV1  |
 +|6  |1  |SRSE  |iClass SR, iClass SE  |
 +|7  |1  |SEOS  |iClass SEOS  |
 +|8  |1  |NFC  |NFC Card  |
 +|9  |1  |BLE  |BLE  |
 +|10 |21 |reserved ​ |Unassigned ​ |
 +|31 |1  |useCardOperation ​ |Card operation enabled or not  |
 +22. //​authSupported//​ \\
 +This indicates support information related to authentication. \\ \\
 +23. //​extendedMode//​ \\
 +If true, extended authentication mode is supported, refer to authSupported.extended. \\
 +If false, non-extended authentication mode is supported, refer to authSupported.lagacy. \\ \\
 +24. //​credentials//​ \\
 +This indicates supported authentication methods. You can access each item in its entirety or in bit units as a mask value. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |card  |Card  |
 +|1  |1  |fingerprint ​ |Fingerprint ​ |
 +|2  |1  |face  |Face  |
 +|3  |1  |id  |ID  |
 +|4  |1  |pin  |PIN  |
 +|5  |3  |reserved ​ |Unassgined ​ |
 +25. //​reserved//​ \\ 
 +Reserved space.\\ \\ 
 +26. //legacy// \\
 +Information referenced when non-extended authentication mode is supported. \\ \\
 +27. //​biometricAuth//​ \\
 +(Non-extended authentication mode) Indicates the biometric authentication combination. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |biometricOnly ​ |Biometric only  |
 +|1  |1  |biometricPIN ​ |Biometric + PIN  |
 +|2  |6  |unused ​ |Unassigned ​ |
 +28. //​cardAuth//​ \\
 +(Non-extended authentication mode) Indicates the card authentication combination. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |cardOnly ​ |Card only  |
 +|1  |1  |cardBiometric ​ |Card + Biometric ​ |
 +|2  |1  |cardPIN ​ |Card + PIN  |
 +|3  |1  |cardBiometricOrPIN ​ |Card + Biometric/​PIN ​ |
 +|4  |1  |cardBiometricPIN ​ |Card + Biometric + PIN  |
 +|5  |3  |unused ​ |Unassigned ​ |
 +29. //idAuth// \\
 +(Non-extended authentication mode) Indicates the ID authentication combination. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |idBiometric ​ |ID + Biometric ​ |
 +|1  |1  |idPIN ​ |ID + PIN  |
 +|2  |1  |idBiometricOrPIN ​ |ID + Biometric/​PIN ​ |
 +|3  |1  |idBiometricPIN ​ |ID + Biometric + PIN  |
 +|4  |4  |unused ​ |Unassigned ​ |
 +30. //​extended//​ \\
 +This information is referenced when supporting extended authentication mode. \\ \\
 +31. //​faceAuth//​ \\
 +(Extended authentication mode) Indicates the face authentication combination. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |faceOnly ​ |Face only  |
 +|1  |1  |faceFingerprint ​ |Face + Fingerprint ​ |
 +|2  |1  |facePIN ​ |Face + PIN  |
 +|3  |1  |faceFingerprintOrPIN ​ |Face + Fingerprint/​PIN ​ |
 +|4  |1  |faceFingerprintPIN ​ |Face + Fingerprint + PIN  |
 +|5  |27 |unused ​ |Unassigned ​ |
 +32. //​fingerprintAuth//​ \\
 +(Extended authentication mode) Indicates a combination of fingerprint authentication. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |fingerprintOnly ​ |Fingerprint only  |
 +|1  |1  |fingerprintFace ​ |Fingerprint + Face  |
 +|2  |1  |fingerprintPIN ​ |Fingerprint + PIN  |
 +|3  |1  |fingerprintFaceOrPIN ​ |Fingerprint + Face/​PIN ​ |
 +|4  |1  |fingerprintFacePIN ​ |Fingerprint + Face + PIN  |
 +|5  |27 |unused ​ |Unassigned ​ |
 +33. //​cardAuth//​ \\
 +(Extended authentication mode) Indicates the card authentication combination. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|0  |1  |cardOnly ​ |Card only  |
 +|1  |1  |cardFace ​ |Card + Face  |
 +|2  |1  |cardFingerprint ​ |Card + Fingerprint ​ |
 +|3  |1  |cardPIN ​ |Card + PIN  |
 +|4  |1  |cardFaceOrFingerprint ​ |Card + Face/​Fingerprint ​ |
 +|5  |1  |cardFaceOrPIN ​ |Card + Face/​PIN ​ |
 +|6  |1  |cardFingerprintOrPIN ​ |Card + Fingerprint/​PIN ​ |
 +|7  |1  |cardFaceOrFingerprintOrPIN ​ |Card + Face/​Fingerprint/​PIN ​ |
 +|8  |1  |cardFaceFingerprint ​ |Card + Face + Fingerprint ​ |
 +|9  |1  |cardFacePIN ​ |Card + Face + PIN  |
 +|10 |1  |cardFingerprintFace ​ |Card + Fingerprint + Face  |
 +|11 |1  |cardFingerprintPIN ​ |Card + Fingerprint + PIN  |
 +|12 |1  |cardFaceOrFingerprintPIN ​ |Card + Face/​Fingerprint + PIN  |
 +|13 |1  |cardFaceFingerprintOrPIN ​ |Card + Face + Fingerprint/​PIN ​ |
 +|14 |1  |cardFingerprintFaceOrPIN ​ |Card + Fingerprint + Face/​PIN ​ |
 +|15 |17 |unused ​ |Unassigned ​ |
 +34. //idAuth// \\
 +(Extended authentication mode) Indicates the ID authentication combination. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|-  |Total ​ |mask  |Total Information ​ |
 +|1  |1  |idFace ​ |ID + Face  |
 +|2  |1  |idFingerprint ​ |ID + Fingerprint ​ |
 +|3  |1  |idPIN ​ |ID + PIN  |
 +|4  |1  |idFaceOrFingerprint ​ |ID + Face/​Fingerprint ​ |
 +|5  |1  |idFaceOrPIN ​ |ID + Face/​PIN ​ |
 +|6  |1  |idFingerprintOrPIN ​ |ID + Fingerprint/​PIN ​ |
 +|7  |1  |idFaceOrFingerprintOrPIN ​ |ID + Face/​Fingerprint/​PIN ​ |
 +|8  |1  |idFaceFingerprint ​ |ID + Face + Fingerprint ​ |
 +|9  |1  |idFacePIN ​ |ID + Face + PIN  |
 +|10 |1  |idFingerprintFace ​ |ID + Fingerprint + Face  |
 +|11 |1  |idFingerprintPIN ​ |ID + Fingerprint + PIN  |
 +|12 |1  |idFaceOrFingerprintPIN ​ |ID + Face/​Fingerprint + PIN  |
 +|13 |1  |idFaceFingerprintOrPIN ​ |ID + Face + Fingerprint/​PIN ​ |
 +|14 |1  |idFingerprintFaceOrPIN ​ |ID + Fingerprint + Face/​PIN ​ |
 +|15 |18 |unused ​ |Unassigned ​ |
 +35. //System support information//​ \\
 +It indicates the system information supported by the device in bit units as follows. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|0  |1  |intelligentPDSupported ​ |Whether Intelligent PD is supported. ([[configuration api#​BS2Rs485Config|BS2Rs485Config]]) ​ |
 +|1  |1  |updateUserSupported ​ |Whether User information update is supported. ​ |
 +|2  |1  |simulatedUnlockSupported ​ |Whether simulated button unlock is supported. ​ |
 +|3  |1  |smartCardByteOrderSupported ​ |Whether smartCardByteOrder is supported. ([[configuration api#​BS2CardConfig|BS2CardConfig]]) ​ |
 +|4  |1  |treatAsCSNSupported ​ |Whether treatAsCSN is supported. ([[configuration api#​BS2BarcodeConfig|BS2BarcodeConfig]]) ​ |
 +|5  |1  |rtspSupported ​ |Whether RTSP is supported. ([[configuration api#​BS2RtspConfig|BS2RtspConfig]]) ​ |
 +|6  |1  |lfdSupported ​ |Whether LFD is supported. ​ |
 +|7  |1  |visualQRSupported ​ |Whether Visual QR is supported. ​ |
 +36. //​maxVoipExtensionNumbers//​ \\ 
 +It is the number of registered internal numbers in the extension phone book at the extended VoIP setting information. \\ \\ 
 +37. //System support information 2// \\
 +It indicates the system information supported by the device in bit units as follows. \\
 +^Bit position ​ ^Number of bit  ^Member ​ ^Description ​ ^
 +|0  |1  |osdpStandardCentralSupported ​ |Whether OSDP Standard is supported. ([[configuration_api#​BS2OsdpStandardConfig|BS2OsdpStandardConfig]]) ​ |
 +|1  |1  |enableLicenseFuncSupported ​ |Whether Device license is supported. ([[configuration_api#​BS2LicenseConfig|BS2LicenseConfig]]) ​ |
 +|2  |1  |keypadBacklightSupported ​ |Whether Keypad backlight is supported. ​ |
 +|3  |1  |uzWirelessLockDoorSupported ​ |Whether U&Z wireless lock is supported. ​ |
 +|4  |1  |customSmartCardSupported ​ |Whether Custom card is supported. ([[configuration_api#​BS2CustomCardConfig|BS2CustomCardConfig]]) ​ |
 +|5  |1  |tomSupported ​ |Whether ToM is supported. ​ |
 +|6  |2  |unused2 ​ |Unassigned ​ | 
 +38. //​reserved//​ \\ 
 +Reserved space.\\ \\