keystore.h revision 5187818895c4c5f650a611c40531b1dff7764c18
1/* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#ifndef __KEYSTORE_H__ 18#define __KEYSTORE_H__ 19 20#include <stdint.h> 21 22// note state values overlap with ResponseCode for the purposes of the state() API 23enum State { 24 STATE_NO_ERROR = 1, 25 STATE_LOCKED = 2, 26 STATE_UNINITIALIZED = 3, 27}; 28 29enum ResponseCode { 30 NO_ERROR = STATE_NO_ERROR, // 1 31 LOCKED = STATE_LOCKED, // 2 32 UNINITIALIZED = STATE_UNINITIALIZED, // 3 33 SYSTEM_ERROR = 4, 34 PROTOCOL_ERROR = 5, 35 PERMISSION_DENIED = 6, 36 KEY_NOT_FOUND = 7, 37 VALUE_CORRUPTED = 8, 38 UNDEFINED_ACTION = 9, 39 WRONG_PASSWORD_0 = 10, 40 WRONG_PASSWORD_1 = 11, 41 WRONG_PASSWORD_2 = 12, 42 WRONG_PASSWORD_3 = 13, // MAX_RETRY = 4 43}; 44 45enum CommandNames { 46 TEST = 0, 47 GET = 1, 48 INSERT = 2, 49 DELETE = 3, 50 EXIST = 4, 51 SAW = 5, 52 RESET = 6, 53 PASSWORD = 7, 54 LOCK = 8, 55 UNLOCK = 9, 56 ZERO = 10, 57}; 58 59typedef uint8_t command_code_t; 60 61command_code_t CommandCodes[] = { 62 't', // TEST 63 'g', // GET 64 'i', // INSERT 65 'd', // DELETE 66 'e', // EXIST 67 's', // SAW 68 'r', // RESET 69 'p', // PASSWORD 70 'l', // LOCK 71 'u', // UNLOCK 72 'z', // ZERO 73}; 74 75#endif 76