|  |  |  | p11-kit |  | 
|---|---|---|---|---|
| Top | Description | ||||
const char * p11_kit_strerror (CK_RV rv); char * p11_kit_space_strdup (const unsigned char *string,size_t max_length); size_t p11_kit_space_strlen (const unsigned char *string,size_t max_length);
const char *        p11_kit_strerror                    (CK_RV rv);
Get a message for a PKCS#11 return value or error code. Do not pass CKR_OK or other such non errors to this function.
| 
 | The code to get a message for. | 
| Returns : | The user readable and localized message. | 
char * p11_kit_space_strdup (const unsigned char *string,size_t max_length);
In PKCS#11 structures many strings are encoded in a strange way. The string is placed in a fixed length buffer and then padded with spaces.
This function copies the space padded string into a normal null-terminated string. The result is owned by the caller.
| 1 2 3 4 | CK_INFO info; char *description; ... description = p11_kit_space_strdup (info->libraryDescription, sizeof (info->libraryDescription)); | 
| 
 | Pointer to string block | 
| 
 | Maximum length of string block | 
| Returns : | The newly allocated string, or NULLif memory could not be allocated. | 
size_t p11_kit_space_strlen (const unsigned char *string,size_t max_length);
In PKCS#11 structures many strings are encoded in a strange way. The string is placed in a fixed length buffer and then padded with spaces.
This function determines the actual length of the string. Since the string is not null-terminated you need to pass in the size of buffer as max_length. The string will never be longer than this buffer.
| 1 2 3 4 | CK_INFO info; size_t length; ... length = p11_kit_space_strlen (info->libraryDescription, sizeof (info->libraryDescription)); | 
| 
 | Pointer to string block | 
| 
 | Maximum length of string block | 
| Returns : | The length of the space padded string. |