| /* |
| * Copyright (C) 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H |
| #define ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H |
| |
| #define FINGERPRINT_MODULE_API_VERSION_1_0 HARDWARE_MODULE_API_VERSION(1, 0) |
| #define FINGERPRINT_HARDWARE_MODULE_ID "fingerprint" |
| |
| typedef enum fingerprint_msg { |
| FINGERPRINT_ERROR = -1, |
| FINGERPRINT_NO_MATCH = 0, |
| FINGERPRINT_MATCH = 1, |
| FINGERPRINT_TEMPLATE_COLLECTING = 2, |
| FINGERPRINT_TEMPLATE_REGISTERED = 3, |
| FINGERPRINT_TEMPLATE_DELETED = 4 |
| } fingerprint_msg_t; |
| |
| typedef enum fingerprint_error { |
| FINGERPRINT_ERROR_HW_UNAVAILABLE = 1, |
| FINGERPRINT_ERROR_BAD_CAPTURE = 2 |
| } fingerprint_error_t; |
| |
| /* Synchronous operation */ |
| typedef struct fingerprint_device { |
| struct hw_device_t common; |
| |
| /* |
| * Figerprint enroll request: records and stores a fingerprint template. |
| * Timeout after temeout_sec seconds. |
| * |
| * Function return: |
| * - Machine state: error, collected or registered. |
| * - Data is interpreted as error code, collection percentage |
| * or fingerprint id. |
| */ |
| fingerprint_msg_t (*enroll)(unsigned timeout_sec, unsigned *data); |
| |
| /* |
| * Figerprint remove request: deletes a fingerprint template. |
| * |
| * Function return: |
| * - Delete result: error or success. |
| */ |
| fingerprint_msg_t (*remove)(unsigned fingerprint_id); |
| |
| /* |
| * Figerprint match request: Collect a fingerprint and |
| * match against stored template with fingerprint_id. |
| * Timeout after temeout_sec seconds. |
| * |
| * Function return: |
| * - Match, no match or error. |
| */ |
| fingerprint_msg_t (*match)(unsigned fingerprint_id, unsigned timeout_sec); |
| |
| /* Reserved for future use. Must be NULL. */ |
| void* reserved[8 - 3]; |
| } fingerprint_device_t; |
| |
| typedef struct fingerprint_module { |
| struct hw_module_t common; |
| } fingerprint_module_t; |
| |
| /* For asyncronous mode - as a possible API model |
| typedef void (*fingerprint_callback)(int request_id, fingerprint_msg msg, data); |
| */ |
| |
| #endif /* ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H */ |