palm-os-sdk/sdk-5r3/include/Libraries/CPMLib/CPMLib68KInterface.h
2016-04-06 13:22:15 -07:00

157 lines
9.0 KiB
C

/******************************************************************************
*
* Copyright (c) 1994-2003 PalmSource, Inc. All rights reserved.
*
* File: CPMLib68KInterface.h
*
* Release: Palm OS 5 SDK (68K) R3.
*
* Description:
* This module contains the interface definition for the Cryptographic
* Provider Manager library on Pilot for 68K code.
*
*****************************************************************************/
#ifndef _CPMLIB_68K_INTERFACE_H
#define _CPMLIB_68K_INTERFACE_H
#include "CPMLibCommon.h"
/** CPMLib Trap number selectors
*
* CPM library call ID's. Each library call gets the trap number:
* cpmTrapXXXX which serves as an index into the library's dispatch table.
* The constant sysLibTrapCustom is the first available trap number after
* the system predefined library traps Open, Close, Sleep and Wake.
*
* <b>WARNING!!! This order of these traps MUST match the order of the dispatch
* table in CPMLibDispatch.c!!!</b>
*/
#define cpmLibTrapOpen sysLibTrapOpen
#define cpmLibTrapClose sysLibTrapClose
#define cpmLibTrapSleep sysLibTrapSleep
#define cpmLibTrapWake sysLibTrapWake
#define cpmLibTrapGetInfo sysLibTrapCustom
#define cpmLibTrapSetDebugLevel (sysLibTrapCustom+1)
#define cpmLibTrapEnumerateProviders (sysLibTrapCustom+2)
#define cpmLibTrapGetProviderInfo (sysLibTrapCustom+3)
#define cpmLibTrapSetDefaultProvider (sysLibTrapCustom+4)
#define cpmLibTrapGenerateRandomBytes (sysLibTrapCustom+5)
#define cpmLibTrapAddRandomSeed (sysLibTrapCustom+6)
#define cpmLibTrapGenerateKey (sysLibTrapCustom+7)
#define cpmLibTrapImportKeyInfo (sysLibTrapCustom+8)
#define cpmLibTrapExportKeyInfo (sysLibTrapCustom+9)
#define cpmLibTrapReleaseKeyInfo (sysLibTrapCustom+10)
#define cpmLibTrapHashInit (sysLibTrapCustom+11)
#define cpmLibTrapHashUpdate (sysLibTrapCustom+12)
#define cpmLibTrapHashFinal (sysLibTrapCustom+13)
#define cpmLibTrapHash (sysLibTrapCustom+14)
#define cpmLibTrapImportHashInfo (sysLibTrapCustom+15)
#define cpmLibTrapExportHashInfo (sysLibTrapCustom+16)
#define cpmLibTrapReleaseHashInfo (sysLibTrapCustom+17)
#define cpmLibTrapEncryptInit (sysLibTrapCustom+18)
#define cpmLibTrapEncryptUpdate (sysLibTrapCustom+19)
#define cpmLibTrapEncryptFinal (sysLibTrapCustom+20)
#define cpmLibTrapEncrypt (sysLibTrapCustom+21)
#define cpmLibTrapDecryptInit (sysLibTrapCustom+22)
#define cpmLibTrapDecryptUpdate (sysLibTrapCustom+23)
#define cpmLibTrapDecryptFinal (sysLibTrapCustom+24)
#define cpmLibTrapDecrypt (sysLibTrapCustom+25)
#define cpmLibTrapImportCipherInfo (sysLibTrapCustom+26)
#define cpmLibTrapExportCipherInfo (sysLibTrapCustom+27)
#define cpmLibTrapReleaseCipherInfo (sysLibTrapCustom+28)
#define cpmLibTrapVerifyInit (sysLibTrapCustom+29)
#define cpmLibTrapVerifyUpdate (sysLibTrapCustom+30)
#define cpmLibTrapVerifyFinal (sysLibTrapCustom+31)
#define cpmLibTrapVerify (sysLibTrapCustom+32)
#define cpmLibTrapImportVerifyInfo (sysLibTrapCustom+33)
#define cpmLibTrapExportVerifyInfo (sysLibTrapCustom+34)
#define cpmLibTrapReleaseVerifyInfo (sysLibTrapCustom+35)
#define cpmLibTrapLast (sysLibTrapCustom+36)
#ifndef TRAPS_ONLY
/*
* Library initialization and shutdown
*/
Err CPMLibOpen(UInt16 refnum, UInt16 *numProviders) SYS_TRAP(sysLibTrapOpen);
Err CPMLibClose(UInt16 refnum) SYS_TRAP(sysLibTrapClose);
Err CPMLibSleep(UInt16 refnum) SYS_TRAP(sysLibTrapSleep);
Err CPMLibWake(UInt16 refnum) SYS_TRAP(sysLibTrapWake);
/*
* Library settings
*/
Err CPMLibGetInfo(UInt16 refnum, CPMInfoType *infoP) SYS_TRAP(cpmLibTrapGetInfo);
Err CPMLibSetDebugLevel(UInt16 refnum, UInt8 debugLevel) SYS_TRAP(cpmLibTrapSetDebugLevel);
/*
* Provider information
*/
Err CPMLibEnumerateProviders(UInt16 refnum, UInt32 providerIDs[], UInt16 *numProviders) SYS_TRAP(cpmLibTrapEnumerateProviders);
Err CPMLibGetProviderInfo(UInt16 refnum, UInt32 providerID, APProviderInfoType *providerInfoP) SYS_TRAP(cpmLibTrapGetProviderInfo);
Err CPMLibSetDefaultProvider(UInt16 refnum, UInt32 providerID) SYS_TRAP(cpmLibTrapSetDefaultProvider);
/*
* Random bytes
*/
Err CPMLibGenerateRandomBytes(UInt16 refnum, UInt8 *bufferP, UInt32 *bufLenP) SYS_TRAP(cpmLibTrapGenerateRandomBytes);
Err CPMLibAddRandomSeed(UInt16 refnum, UInt8 *seedDataP, UInt32 dataLen) SYS_TRAP(cpmLibTrapAddRandomSeed);
/*
* Symmetric key generation operations
*/
Err CPMLibGenerateKey(UInt16 refnum, UInt8 *keyDataP, UInt32 dataLen, APKeyInfoType *keyInfoP) SYS_TRAP(cpmLibTrapGenerateKey);
Err CPMLibImportKeyInfo(UInt16 refnum, UInt8 encoding, UInt8 *importDataP, UInt32 dataLen, APKeyInfoType *keyInfoP) SYS_TRAP(cpmLibTrapImportKeyInfo);
Err CPMLibExportKeyInfo(UInt16 refnum, APKeyInfoType *keyInfoP, UInt8 encoding, UInt8 *exportDataP, UInt32 *dataLenP) SYS_TRAP(cpmLibTrapExportKeyInfo);
Err CPMLibReleaseKeyInfo(UInt16 refnum, APKeyInfoType *keyInfoP) SYS_TRAP(cpmLibTrapReleaseKeyInfo);
/*
* Message digest operations
*/
Err CPMLibHashInit(UInt16 refnum, APHashInfoType *hashInfoP) SYS_TRAP(cpmLibTrapHashInit);
Err CPMLibHashUpdate(UInt16 refnum, APHashInfoType *hashInfoP, UInt8 *bufIn, UInt32 bufInLen) SYS_TRAP(cpmLibTrapHashUpdate);
Err CPMLibHashFinal(UInt16 refnum, APHashInfoType *hashInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapHashFinal);
Err CPMLibHash(UInt16 refnum, APHashEnum type, APHashInfoType *hashInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapHash);
Err CPMLibImportHashInfo(UInt16 refnum, UInt8 encoding, UInt8 *importDataP, UInt32 dataLen, APHashInfoType *hashInfoP) SYS_TRAP(cpmLibTrapImportHashInfo);
Err CPMLibExportHashInfo(UInt16 refnum, APHashInfoType *hashInfoP, UInt8 encoding, UInt8 *exportDataP, UInt32 *dataLenP) SYS_TRAP(cpmLibTrapExportHashInfo);
Err CPMLibReleaseHashInfo(UInt16 refnum, APHashInfoType *hashInfoP) SYS_TRAP(cpmLibTrapReleaseHashInfo);
/*
* Cipher operations
*/
Err CPMLibEncryptInit(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP) SYS_TRAP(cpmLibTrapEncryptInit);
Err CPMLibEncryptUpdate(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapEncryptUpdate);
Err CPMLibEncryptFinal(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapEncryptFinal);
Err CPMLibEncrypt(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapEncrypt);
Err CPMLibDecryptInit(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP) SYS_TRAP(cpmLibTrapDecryptInit);
Err CPMLibDecryptUpdate(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapDecryptUpdate);
Err CPMLibDecryptFinal(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapDecryptFinal);
Err CPMLibDecrypt(UInt16 refnum, APKeyInfoType *keyInfoP, APCipherInfoType *cipherInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP) SYS_TRAP(cpmLibTrapDecrypt);
Err CPMLibImportCipherInfo(UInt16 refnum, UInt8 encoding, UInt8 *importDataP, UInt32 dataLen, APCipherInfoType *cipherInfoP) SYS_TRAP(cpmLibTrapImportCipherInfo);
Err CPMLibExportCipherInfo(UInt16 refnum, APCipherInfoType *cipherInfoP, UInt8 encoding, UInt8 *exportDataP, UInt32 *dataLenP) SYS_TRAP(cpmLibTrapExportCipherInfo);
Err CPMLibReleaseCipherInfo(UInt16 refnum, APCipherInfoType *cipherInfoP) SYS_TRAP(cpmLibTrapReleaseCipherInfo);
/*
* Verification operations
*/
Err CPMLibVerifyInit(UInt16 refnum, APKeyInfoType *keyInfoP, APVerifyInfoType *verifyInfoP) SYS_TRAP(cpmLibTrapVerifyInit);
Err CPMLibVerifyUpdate(UInt16 refnum, APKeyInfoType *keyInfoP, APVerifyInfoType *verifyInfoP, UInt8 *bufIn, UInt32 bufInLen) SYS_TRAP(cpmLibTrapVerifyUpdate);
Err CPMLibVerifyFinal(UInt16 refnum, APKeyInfoType *keyInfoP, APVerifyInfoType *verifyInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP, UInt8 *signature, UInt32 signatureLen, VerifyResultType *verifyResultP) SYS_TRAP(cpmLibTrapVerifyFinal);
Err CPMLibVerify(UInt16 refnum, APKeyInfoType *keyInfoP, APVerifyInfoType *verifyInfoP, UInt8 *bufIn, UInt32 bufInLen, UInt8 *bufOut, UInt32 *bufOutLenP, UInt8 *signature, UInt32 signatureLen, VerifyResultType *verifyResultP) SYS_TRAP(cpmLibTrapVerify);
Err CPMLibImportVerifyInfo(UInt16 refnum, UInt8 encoding, UInt8 *importDataP, UInt32 dataLen, APVerifyInfoType *verifyInfoP) SYS_TRAP(cpmLibTrapImportVerifyInfo);
Err CPMLibExportVerifyInfo(UInt16 refnum, APVerifyInfoType *verifyInfoP, UInt8 encoding, UInt8 *exportDataP, UInt32 *dataLenP) SYS_TRAP(cpmLibTrapExportVerifyInfo);
Err CPMLibReleaseVerifyInfo(UInt16 refnum, APVerifyInfoType *verifyInfoP) SYS_TRAP(cpmLibTrapReleaseVerifyInfo);
#endif /* TRAPS_ONLY */
#endif /* _CPMLIB_68K_INTERFACE_H */