Introduce _sym2str() macro in p11util.c to symplify the
    conversion between symbol name and textual interpretation.

Signed-off-by: Klaus Heinrich Kiwi <[email protected]>
---
 usr/lib/pkcs11/common/p11util.c |  170 ++++++++++++++++++++-------------------
 1 files changed, 86 insertions(+), 84 deletions(-)

diff --git a/usr/lib/pkcs11/common/p11util.c b/usr/lib/pkcs11/common/p11util.c
index 7b60a36..9f751dc 100755
--- a/usr/lib/pkcs11/common/p11util.c
+++ b/usr/lib/pkcs11/common/p11util.c
@@ -292,6 +292,8 @@
 
 #include "pkcs11types.h"
 
+#define _sym2str(X)     case X: return #X
+
 //
 // p11_get_ckr - return textual interpretation of a CKR_ error code
 // @rc is the CKR_.. error
@@ -299,90 +301,90 @@
 char *p11_get_ckr( CK_RV rc )
 {
    switch (rc) {
-      case CKR_OK:                             return " CKR_OK";
-      case CKR_CANCEL:                         return " CKR_CANCEL";
-      case CKR_HOST_MEMORY:                    return " CKR_HOST_MEMORY";
-      case CKR_SLOT_ID_INVALID:                        return " 
CKR_SLOT_ID_INVALID";
-      case CKR_GENERAL_ERROR:                  return " CKR_GENERAL_ERROR";
-      case CKR_FUNCTION_FAILED:                        return " 
CKR_FUNCTION_FAILED";
-      case CKR_ARGUMENTS_BAD:                  return " CKR_ARGUMENTS_BAD";
-      case CKR_NO_EVENT:                       return " CKR_NO_EVENT";
-      case CKR_NEED_TO_CREATE_THREADS:         return " 
CKR_NEED_TO_CREATE_THREADS";
-      case CKR_CANT_LOCK:                      return " CKR_CANT_LOCK";
-      case CKR_ATTRIBUTE_READ_ONLY:            return " 
CKR_ATTRIBUTE_READ_ONLY";
-      case CKR_ATTRIBUTE_SENSITIVE:            return " 
CKR_ATTRIBUTE_SENSITIVE";
-      case CKR_ATTRIBUTE_TYPE_INVALID:         return " 
CKR_ATTRIBUTE_TYPE_INVALID";
-      case CKR_ATTRIBUTE_VALUE_INVALID:                return " 
CKR_ATTRIBUTE_VALUE_INVALID";
-      case CKR_DATA_INVALID:                   return " CKR_DATA_INVALID";
-      case CKR_DATA_LEN_RANGE:                 return " CKR_DATA_LEN_RANGE";
-      case CKR_DEVICE_ERROR:                   return " CKR_DEVICE_ERROR";
-      case CKR_DEVICE_MEMORY:                  return " CKR_DEVICE_MEMORY";
-      case CKR_DEVICE_REMOVED:                 return " CKR_DEVICE_REMOVED";
-      case CKR_ENCRYPTED_DATA_INVALID:         return " 
CKR_ENCRYPTED_DATA_INVALID";
-      case CKR_ENCRYPTED_DATA_LEN_RANGE:       return " 
CKR_ENCRYPTED_DATA_LEN_RANGE";
-      case CKR_FUNCTION_CANCELED:              return " CKR_FUNCTION_CANCELED";
-      case CKR_FUNCTION_NOT_PARALLEL:          return " 
CKR_FUNCTION_NOT_PARALLEL";
-      case CKR_FUNCTION_NOT_SUPPORTED:         return " 
CKR_FUNCTION_NOT_SUPPORTED";
-      case CKR_KEY_HANDLE_INVALID:             return " 
CKR_KEY_HANDLE_INVALID";
-      case CKR_KEY_SIZE_RANGE:                 return " CKR_KEY_SIZE_RANGE";
-      case CKR_KEY_TYPE_INCONSISTENT:          return " 
CKR_KEY_TYPE_INCONSISTENT";
-      case CKR_KEY_NOT_NEEDED:                 return " CKR_KEY_NOT_NEEDED";
-      case CKR_KEY_CHANGED:                    return " CKR_KEY_CHANGED";
-      case CKR_KEY_NEEDED:                     return " CKR_KEY_NEEDED";
-      case CKR_KEY_INDIGESTIBLE:               return " CKR_KEY_INDIGESTIBLE";
-      case CKR_KEY_FUNCTION_NOT_PERMITTED:     return " 
CKR_KEY_FUNCTION_NOT_PERMITTED";
-      case CKR_KEY_NOT_WRAPPABLE:              return " CKR_KEY_NOT_WRAPPABLE";
-      case CKR_KEY_UNEXTRACTABLE:              return " CKR_KEY_UNEXTRACTABLE";
-      case CKR_MECHANISM_INVALID:              return " CKR_MECHANISM_INVALID";
-      case CKR_MECHANISM_PARAM_INVALID:                return " 
CKR_MECHANISM_PARAM_INVALID";
-      case CKR_OBJECT_HANDLE_INVALID:          return " 
CKR_OBJECT_HANDLE_INVALID";
-      case CKR_OPERATION_ACTIVE:               return " CKR_OPERATION_ACTIVE";
-      case CKR_OPERATION_NOT_INITIALIZED:      return " 
CKR_OPERATION_NOT_INITIALIZED";
-      case CKR_PIN_INCORRECT:                  return " CKR_PIN_INCORRECT";
-      case CKR_PIN_INVALID:                    return " CKR_PIN_INVALID";
-      case CKR_PIN_LEN_RANGE:                  return " CKR_PIN_LEN_RANGE";
-      case CKR_PIN_EXPIRED:                    return " CKR_PIN_EXPIRED";
-      case CKR_PIN_LOCKED:                     return " CKR_PIN_LOCKED";
-      case CKR_SESSION_CLOSED:                 return " CKR_SESSION_CLOSED";
-      case CKR_SESSION_COUNT:                  return " CKR_SESSION_COUNT";
-      case CKR_SESSION_HANDLE_INVALID:         return " 
CKR_SESSION_HANDLE_INVALID";
-      case CKR_SESSION_PARALLEL_NOT_SUPPORTED: return " 
CKR_SESSION_PARALLEL_NOT_SUPPORTED";
-      case CKR_SESSION_READ_ONLY:              return " CKR_SESSION_READ_ONLY";
-      case CKR_SESSION_EXISTS:                 return " CKR_SESSION_EXISTS";
-      case CKR_SESSION_READ_ONLY_EXISTS:       return " 
CKR_SESSION_READ_ONLY_EXISTS";
-      case CKR_SESSION_READ_WRITE_SO_EXISTS:   return " 
CKR_SESSION_READ_WRITE_SO_EXISTS";
-      case CKR_SIGNATURE_INVALID:              return " CKR_SIGNATURE_INVALID";
-      case CKR_SIGNATURE_LEN_RANGE:            return " 
CKR_SIGNATURE_LEN_RANGE";
-      case CKR_TEMPLATE_INCOMPLETE:            return " 
CKR_TEMPLATE_INCOMPLETE";
-      case CKR_TEMPLATE_INCONSISTENT:          return " 
CKR_TEMPLATE_INCONSISTENT";
-      case CKR_TOKEN_NOT_PRESENT:              return " CKR_TOKEN_NOT_PRESENT";
-      case CKR_TOKEN_NOT_RECOGNIZED:           return " 
CKR_TOKEN_NOT_RECOGNIZED";
-      case CKR_TOKEN_WRITE_PROTECTED:          return " 
CKR_TOKEN_WRITE_PROTECTED";
-      case CKR_UNWRAPPING_KEY_HANDLE_INVALID:  return " 
CKR_UNWRAPPING_KEY_HANDLE_INVALID";
-      case CKR_UNWRAPPING_KEY_SIZE_RANGE:      return " 
CKR_UNWRAPPING_KEY_SIZE_RANGE";
-      case CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT:return " 
CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT";
-      case CKR_USER_ALREADY_LOGGED_IN:         return " 
CKR_USER_ALREADY_LOGGED_IN";
-      case CKR_USER_NOT_LOGGED_IN:             return " 
CKR_USER_NOT_LOGGED_IN";
-      case CKR_USER_PIN_NOT_INITIALIZED:       return " 
CKR_USER_PIN_NOT_INITIALIZED";
-      case CKR_USER_TYPE_INVALID:              return " CKR_USER_TYPE_INVALID";
-      case CKR_USER_ANOTHER_ALREADY_LOGGED_IN: return " 
CKR_USER_ANOTHER_ALREADY_LOGGED_IN";
-      case CKR_USER_TOO_MANY_TYPES:            return " 
CKR_USER_TOO_MANY_TYPES";
-      case CKR_WRAPPED_KEY_INVALID:            return " 
CKR_WRAPPED_KEY_INVALID";
-      case CKR_WRAPPED_KEY_LEN_RANGE:          return " 
CKR_WRAPPED_KEY_LEN_RANGE";
-      case CKR_WRAPPING_KEY_HANDLE_INVALID:    return " 
CKR_WRAPPING_KEY_HANDLE_INVALID";
-      case CKR_WRAPPING_KEY_SIZE_RANGE:                return " 
CKR_WRAPPING_KEY_SIZE_RANGE";
-      case CKR_WRAPPING_KEY_TYPE_INCONSISTENT: return " 
CKR_WRAPPING_KEY_TYPE_INCONSISTENT";
-      case CKR_RANDOM_SEED_NOT_SUPPORTED:      return " 
CKR_RANDOM_SEED_NOT_SUPPORTED";
-      case CKR_RANDOM_NO_RNG:                  return " CKR_RANDOM_NO_RNG";
-      case CKR_BUFFER_TOO_SMALL:               return " CKR_BUFFER_TOO_SMALL";
-      case CKR_SAVED_STATE_INVALID:            return " 
CKR_SAVED_STATE_INVALID";
-      case CKR_INFORMATION_SENSITIVE:          return " 
CKR_INFORMATION_SENSITIVE";
-      case CKR_STATE_UNSAVEABLE:               return " CKR_STATE_UNSAVEABLE";
-      case CKR_CRYPTOKI_NOT_INITIALIZED:       return " 
CKR_CRYPTOKI_NOT_INITIALIZED";
-      case CKR_CRYPTOKI_ALREADY_INITIALIZED:   return " 
CKR_CRYPTOKI_ALREADY_INITIALIZED";
-      case CKR_MUTEX_BAD:                      return " CKR_MUTEX_BAD";
-      case CKR_MUTEX_NOT_LOCKED:               return " CKR_MUTEX_NOT_LOCKED";
-      default:                                 return " UNKNOWN";
+      _sym2str(CKR_OK);
+      _sym2str(CKR_CANCEL);
+      _sym2str(CKR_HOST_MEMORY);
+      _sym2str(CKR_SLOT_ID_INVALID);
+      _sym2str(CKR_GENERAL_ERROR);
+      _sym2str(CKR_FUNCTION_FAILED);
+      _sym2str(CKR_ARGUMENTS_BAD);
+      _sym2str(CKR_NO_EVENT);
+      _sym2str(CKR_NEED_TO_CREATE_THREADS);
+      _sym2str(CKR_CANT_LOCK);
+      _sym2str(CKR_ATTRIBUTE_READ_ONLY);
+      _sym2str(CKR_ATTRIBUTE_SENSITIVE);
+      _sym2str(CKR_ATTRIBUTE_TYPE_INVALID);
+      _sym2str(CKR_ATTRIBUTE_VALUE_INVALID);
+      _sym2str(CKR_DATA_INVALID);
+      _sym2str(CKR_DATA_LEN_RANGE);
+      _sym2str(CKR_DEVICE_ERROR);
+      _sym2str(CKR_DEVICE_MEMORY);
+      _sym2str(CKR_DEVICE_REMOVED);
+      _sym2str(CKR_ENCRYPTED_DATA_INVALID);
+      _sym2str(CKR_ENCRYPTED_DATA_LEN_RANGE);
+      _sym2str(CKR_FUNCTION_CANCELED);
+      _sym2str(CKR_FUNCTION_NOT_PARALLEL);
+      _sym2str(CKR_FUNCTION_NOT_SUPPORTED);
+      _sym2str(CKR_KEY_HANDLE_INVALID);
+      _sym2str(CKR_KEY_SIZE_RANGE);
+      _sym2str(CKR_KEY_TYPE_INCONSISTENT);
+      _sym2str(CKR_KEY_NOT_NEEDED);
+      _sym2str(CKR_KEY_CHANGED);
+      _sym2str(CKR_KEY_NEEDED);
+      _sym2str(CKR_KEY_INDIGESTIBLE);
+      _sym2str(CKR_KEY_FUNCTION_NOT_PERMITTED);
+      _sym2str(CKR_KEY_NOT_WRAPPABLE);
+      _sym2str(CKR_KEY_UNEXTRACTABLE);
+      _sym2str(CKR_MECHANISM_INVALID);
+      _sym2str(CKR_MECHANISM_PARAM_INVALID);
+      _sym2str(CKR_OBJECT_HANDLE_INVALID);
+      _sym2str(CKR_OPERATION_ACTIVE);
+      _sym2str(CKR_OPERATION_NOT_INITIALIZED);
+      _sym2str(CKR_PIN_INCORRECT);
+      _sym2str(CKR_PIN_INVALID);
+      _sym2str(CKR_PIN_LEN_RANGE);
+      _sym2str(CKR_PIN_EXPIRED);
+      _sym2str(CKR_PIN_LOCKED);
+      _sym2str(CKR_SESSION_CLOSED);
+      _sym2str(CKR_SESSION_COUNT);
+      _sym2str(CKR_SESSION_HANDLE_INVALID);
+      _sym2str(CKR_SESSION_PARALLEL_NOT_SUPPORTED);
+      _sym2str(CKR_SESSION_READ_ONLY);
+      _sym2str(CKR_SESSION_EXISTS);
+      _sym2str(CKR_SESSION_READ_ONLY_EXISTS);
+      _sym2str(CKR_SESSION_READ_WRITE_SO_EXISTS);
+      _sym2str(CKR_SIGNATURE_INVALID);
+      _sym2str(CKR_SIGNATURE_LEN_RANGE);
+      _sym2str(CKR_TEMPLATE_INCOMPLETE);
+      _sym2str(CKR_TEMPLATE_INCONSISTENT);
+      _sym2str(CKR_TOKEN_NOT_PRESENT);
+      _sym2str(CKR_TOKEN_NOT_RECOGNIZED);
+      _sym2str(CKR_TOKEN_WRITE_PROTECTED);
+      _sym2str(CKR_UNWRAPPING_KEY_HANDLE_INVALID);
+      _sym2str(CKR_UNWRAPPING_KEY_SIZE_RANGE);
+      _sym2str(CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT);
+      _sym2str(CKR_USER_ALREADY_LOGGED_IN);
+      _sym2str(CKR_USER_NOT_LOGGED_IN);
+      _sym2str(CKR_USER_PIN_NOT_INITIALIZED);
+      _sym2str(CKR_USER_TYPE_INVALID);
+      _sym2str(CKR_USER_ANOTHER_ALREADY_LOGGED_IN);
+      _sym2str(CKR_USER_TOO_MANY_TYPES);
+      _sym2str(CKR_WRAPPED_KEY_INVALID);
+      _sym2str(CKR_WRAPPED_KEY_LEN_RANGE);
+      _sym2str(CKR_WRAPPING_KEY_HANDLE_INVALID);
+      _sym2str(CKR_WRAPPING_KEY_SIZE_RANGE);
+      _sym2str(CKR_WRAPPING_KEY_TYPE_INCONSISTENT);
+      _sym2str(CKR_RANDOM_SEED_NOT_SUPPORTED);
+      _sym2str(CKR_RANDOM_NO_RNG);
+      _sym2str(CKR_BUFFER_TOO_SMALL);
+      _sym2str(CKR_SAVED_STATE_INVALID);
+      _sym2str(CKR_INFORMATION_SENSITIVE);
+      _sym2str(CKR_STATE_UNSAVEABLE);
+      _sym2str(CKR_CRYPTOKI_NOT_INITIALIZED);
+      _sym2str(CKR_CRYPTOKI_ALREADY_INITIALIZED);
+      _sym2str(CKR_MUTEX_BAD);
+      _sym2str(CKR_MUTEX_NOT_LOCKED);
+      default:                                 return "UNKNOWN";
    }
 }
 
-- 
1.7.2.1


------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Opencryptoki-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opencryptoki-tech

Reply via email to