Source code for pycryptoki.cryptoki.c_defs

"""
This file should contain the 'redefinitions' of ctypes to common PKCS11 CK types.

These types are the most basic types used in PKCS11.
"""
from ctypes import (
    c_ulong,
    c_ubyte,
    POINTER,
    c_ulonglong,
    c_void_p,
    c_long,
    Structure,
    string_at,
    sizeof,
)

CK_BYTE = c_ubyte
CK_BYTE_PTR = POINTER(CK_BYTE)

CK_LONG = c_long

CK_ULONG = c_ulong
CK_ULONG_PTR = POINTER(CK_ULONG)

CK_UTF8CHAR = CK_BYTE
CK_UTF8CHAR_PTR = POINTER(CK_UTF8CHAR)
CK_RV = CK_ULONG

CK_ULONGLONG = c_ulonglong

CK_VOID_PTR = c_void_p
CK_VOID_PTR_PTR = POINTER(CK_VOID_PTR)


CK_FLAGS = CK_ULONG
CK_SLOT_ID = CK_ULONG
CK_SLOT_ID_PTR = POINTER(CK_SLOT_ID)

CK_USHORT = c_ulong
CK_USHORT_PTR = POINTER(CK_USHORT)


CK_CHAR = CK_BYTE
CK_CHAR_PTR = POINTER(CK_CHAR)

CK_BBOOL = CK_BYTE