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..42095a0 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