#include <stdio.h>
#include <Security/cssmapi.h>


CSSM_RETURN CSSMAPI
CSSM_Init (const CSSM_VERSION *Version,
           CSSM_PRIVILEGE_SCOPE Scope,
           const CSSM_GUID *CallerGuid,
           CSSM_KEY_HIERARCHY KeyHierarchy,
           CSSM_PVC_MODE *PvcPolicy,
           const void *Reserved){
printf  ("CSSM_Init",*Version,Scope,*CallerGuid,KeyHierarchy,*PvcPolicy,Reserved);
};

CSSM_RETURN CSSMAPI
CSSM_ModuleLoad (const CSSM_GUID *ModuleGuid,
                 CSSM_KEY_HIERARCHY KeyHierarchy,
                 CSSM_API_ModuleEventHandler AppNotifyCallback,
                 void *AppNotifyCallbackCtx){
printf ("CSSM_ModuleLoad",*ModuleGuid,KeyHierarchy,AppNotifyCallback,AppNotifyCallbackCtx);
};

CSSM_RETURN CSSMAPI
CSSM_ModuleAttach (const CSSM_GUID *ModuleGuid,
                   const CSSM_VERSION *Version,
                   const CSSM_API_MEMORY_FUNCS *MemoryFuncs,
                   uint32 SubserviceID,
                   CSSM_SERVICE_TYPE SubServiceType,
                   CSSM_ATTACH_FLAGS AttachFlags,
                   CSSM_KEY_HIERARCHY KeyHierarchy,
                   CSSM_FUNC_NAME_ADDR *FunctionTable,
                   uint32 NumFunctionTable,
                   const void *Reserved,
                   CSSM_MODULE_HANDLE_PTR NewModuleHandle){
printf ("CSSM_ModuleAttach",*ModuleGuid,*Version,*MemoryFuncs,SubserviceID,SubServiceType,AttachFlags,KeyHierarchy,*FunctionTable,NumFunctionTable,Reserved,NewModuleHandle);
};

CSSM_RETURN CSSMAPI
CSSM_ModuleDetach (CSSM_MODULE_HANDLE ModuleHandle){
printf ("CSSM_ModuleDetach",ModuleHandle);
};

CSSM_RETURN CSSMAPI
CSSM_ModuleUnload (const CSSM_GUID *ModuleGuid,
                   CSSM_API_ModuleEventHandler AppNotifyCallback,
                   void *AppNotifyCallbackCtx){
printf ("CSSM_ModuleUnload",*ModuleGuid,AppNotifyCallback,AppNotifyCallbackCtx);
};

CSSM_RETURN CSSMAPI
CSSM_CL_FreeFields (CSSM_CL_HANDLE CLHandle,
                    uint32 NumberOfFields,
                    CSSM_FIELD_PTR *Fields){
printf ("CSSM_CL_FreeFields",CLHandle,NumberOfFields,*Fields);
};

CSSM_RETURN CSSMAPI
CSSM_CL_CertGetAllFields (CSSM_CL_HANDLE CLHandle,
                          const CSSM_DATA *Cert,
                          uint32 *NumberOfFields,
                          CSSM_FIELD_PTR *CertFields){
printf ("CSSM_CL_CertGetAllFields",CLHandle,*Cert,*NumberOfFields,*CertFields);
};

CSSM_RETURN CSSMAPI
CSSM_QueryKeySizeInBits (CSSM_CSP_HANDLE CSPHandle,
                         CSSM_CC_HANDLE CCHandle,
                         const CSSM_KEY *Key,
                         CSSM_KEY_SIZE_PTR KeySize){};


