/*
- *
* Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
*
- * Contact: Bumjin Im <bj.im@samsung.com>
- *
* 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
* See the License for the specific language governing permissions and
* limitations under the License
*
- * @file ckmc-error.h
- * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
- * @version 1.0
- * @brief This file is implementation of client-common functions.
- */
-
-#ifndef CKMC_ERROR_H
-#define CKMC_ERROR_H
-
-#include <sys/types.h>
-
-/**
- * \name Return Codes
- * exported by the foundation API.
- * result codes begin with the start error code and extend into negative direction.
- * @{
+ * @file ckmc-error.h
+ * @version 1.0
+ * @brief This file contains error codes of the Key Manager.
*/
-#define KEY_MANAGER_API_SUCCESS 0
-/*! \brief indicating the result of the one specific API is successful */
-#define KEY_MANAGER_API_ERROR_SOCKET -1
-
-/*! \brief indicating the socket between client and Central Key Manager failed */
-#define KEY_MANAGER_API_ERROR_BAD_REQUEST -2
-
-/*! \brief indicating the response from Central Key Manager is malformed */
-#define KEY_MANAGER_API_ERROR_BAD_RESPONSE -3
-
-/*! \brief indicating the transmitting request failed */
-/* deprecated unused */
-#define KEY_MANAGER_API_ERROR_SEND_FAILED -4
-
-/*! \brief indicating the receiving response failed */
-/* deprecated unused */
-#define KEY_MANAGER_API_ERROR_RECV_FAILED -5
-
-/*! \brief indicating the authentication between client and manager failed */
-#define KEY_MANAGER_API_ERROR_AUTHENTICATION_FAILED -6
-
-/*! \brief indicating the API's input parameter is malformed */
-#define KEY_MANAGER_API_ERROR_INPUT_PARAM -7
-
-/*! \brief indicating the output buffer size which is passed as parameter is too small */
-#define KEY_MANAGER_API_ERROR_BUFFER_TOO_SMALL -8
-
-/*! \brief indicating system is running out of memory state */
-#define KEY_MANAGER_API_ERROR_OUT_OF_MEMORY -9
-
-/*! \brief indicating the access has been denied by Central Key Manager */
-#define KEY_MANAGER_API_ERROR_ACCESS_DENIED -10
-
-/*! \brief indicating Central Key Manager has been failed for some reason */
-#define KEY_MANAGER_API_ERROR_SERVER_ERROR -11
-
-/*! \brief indicating the database was not unlocked - user did not login */
-#define KEY_MANAGER_API_ERROR_DB_LOCKED -12
-
-/*! \brief indicating that request give to database returned no result */
-#define KEY_MANAGER_API_ERROR_DB_BAD_REQUEST -13
-
-/*! \brief indicating an internal error inside the database */
-#define KEY_MANAGER_API_ERROR_DB_ERROR -14
+#ifndef __TIZEN_CORE_CKMC_ERROR_H_
+#define __TIZEN_CORE_CKMC_ERROR_H_
-/*! \brief indicating that provided alias already exists in the database */
-#define KEY_MANAGER_API_ERROR_DB_ALIAS_EXISTS -15
-
-/*! \brief indicating that provided file doesn't exists or cannot be accessed in the file system */
-#define KEY_MANAGER_API_ERROR_FILE_ACCESS_DENIED -16
-
-/*! \brief indicating that a provided file or binary has not a valid format */
-#define KEY_MANAGER_API_ERROR_INVALID_FORMAT -17
-
-
-/*! \brief indicating the error with unknown reason */
-#define KEY_MANAGER_API_ERROR_UNKNOWN -255
-/** @}*/
+#include <tizen.h>
#ifdef __cplusplus
extern "C" {
#endif
-const char * ckm_error_to_string(int error);
-
-
-#ifdef __cplusplus
-}
-#endif
+/**
+ * @addtogroup CAPI_KEY_MANAGER_TYPES_MODULE
+ * @{
+ */
/**
- * @}
-*/
+ * @brief Enumeration for Key Manager Errors.
+ * @since_tizen 2.3
+ */
+typedef enum{
+ CKMC_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
+ CKMC_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid function parameter */
+ CKMC_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
+ CKMC_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
+
+ CKMC_ERROR_SOCKET = TIZEN_ERROR_KEY_MANAGER | 0x01, /**< Socket error between client and Central Key Manager */
+ CKMC_ERROR_BAD_REQUEST = TIZEN_ERROR_KEY_MANAGER | 0x02, /**< Invalid request from client */
+ CKMC_ERROR_BAD_RESPONSE = TIZEN_ERROR_KEY_MANAGER | 0x03, /**< Invalid response from Central Key Manager */
+ CKMC_ERROR_SEND_FAILED = TIZEN_ERROR_KEY_MANAGER | 0x04, /**< Transmitting request failed */
+ CKMC_ERROR_RECV_FAILED = TIZEN_ERROR_KEY_MANAGER | 0x05, /**< Receiving response failed */
+ CKMC_ERROR_AUTHENTICATION_FAILED = TIZEN_ERROR_KEY_MANAGER | 0x06, /**< Authentication between client and manager failed */
+ CKMC_ERROR_BUFFER_TOO_SMALL = TIZEN_ERROR_KEY_MANAGER | 0x07, /**< The output buffer size which is passed as parameter is too small */
+ CKMC_ERROR_SERVER_ERROR = TIZEN_ERROR_KEY_MANAGER | 0x08, /**< Central Key Manager has been failed for some reason */
+ CKMC_ERROR_DB_LOCKED = TIZEN_ERROR_KEY_MANAGER | 0x09, /**< The database was not unlocked - user did not login */
+ CKMC_ERROR_DB_ERROR = TIZEN_ERROR_KEY_MANAGER | 0x0A, /**< An internal error inside the database */
+ CKMC_ERROR_DB_ALIAS_EXISTS = TIZEN_ERROR_KEY_MANAGER | 0x0B, /**< Provided alias already exists in the database */
+ CKMC_ERROR_DB_ALIAS_UNKNOWN = TIZEN_ERROR_KEY_MANAGER | 0x0C, /**< No data for given alias */
+ CKMC_ERROR_VERIFICATION_FAILED = TIZEN_ERROR_KEY_MANAGER | 0x0D, /**< CA certificate(s) were unknown and chain could not be created */
+ CKMC_ERROR_INVALID_FORMAT = TIZEN_ERROR_KEY_MANAGER | 0x0E, /**< A provided file or binary has not a valid format */
+ CKMC_ERROR_FILE_ACCESS_DENIED = TIZEN_ERROR_KEY_MANAGER | 0x0F, /**< A provided file doesn't exist or cannot be accessed in the file system */
+ CKMC_ERROR_NOT_EXPORTABLE = TIZEN_ERROR_KEY_MANAGER | 0x10, /**< Key is not exportable. It could not be returned to client */
+ CKMC_ERROR_FILE_SYSTEM = TIZEN_ERROR_KEY_MANAGER | 0x11, /**< Save key/certificate/pkcs12 failed because of file system error */
+ CKMC_ERROR_UNKNOWN = TIZEN_ERROR_KEY_MANAGER | 0xFF, /**< The error with unknown reason */
+} key_manager_error_e;
/**
* @}
-*/
+ */
+
+#ifdef __cplusplus
+}
+#endif
-#endif /* CKMC_ERROR_H */
+#endif /* __TIZEN_CORE_CKMC_ERROR_H_ */