📄 pgpdiskengine.h
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: pgpDiskEngine.h,v 1.4 2002/11/22 02:32:15 wjb Exp $
____________________________________________________________________________*/
#ifndef Included_PGPdiskEngine_h /* [ */
#define Included_PGPdiskEngine_h
/*
To dynamic link to the PGPdisk engine, #define PGPDISK_DYNLINK and add
the file 'pgpDiskEngineDynLink.c' to your project. Then call these API
functions normally. The Init and Cleanup functions below will load and
unload the library, and the other functions when called will get their
own proc pointer and invoke themselves, all through the wrappers defined
in the above .c file.
*/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include "pgpDiskPubTypes.h"
#include "pflPrefs.h"
/* Constants */
#ifdef PGP_WIN32
#ifdef PGPDISK_ENGINE
#define PGPdiskEngineExport __declspec(dllexport)
#else
#ifdef PGPDISK_DYNLINK
#define PGPdiskEngineExport
#else
#define PGPdiskEngineExport __declspec(dllimport)
#endif
#endif /* PGPDISK_ENGINE */
#else
#error "PGP platform constant undefined or platform unsupported."
#endif /* PGP_WIN32 */
#define kPGPdiskAPIVersion ((PGPUInt32) 0x01000000)
#define PGPdiskMajorVersion(v) ((((PGPUInt32)(v)) & 0xFF000000) >> 24)
#define PGPdiskMinorVersion(v) ((((PGPUInt32)(v)) & 0x00FFF000) >> 16)
#define PGPdiskRevVersion(v) ((((PGPUInt32)(v)) & 0x00000FF0) >> 4)
/* Exported DLL functions */
/* DLL init/exit functions */
PGPError
PGPdiskEngineExport
PGPdiskEngineInitLibrary(PGPUInt32 Flags);
void
PGPdiskEngineExport
PGPdiskEngineCleanupLibrary();
/* PGPdiskContextRef functions */
PGPError
PGPdiskEngineExport
PGPdiskNewContext(PGPUInt32 clientAPIVersion, PGPdiskContextRef *pContext);
void
PGPdiskEngineExport
PGPdiskFreeContext(PGPdiskContextRef context);
PGPError
PGPdiskEngineExport
PGPdiskOpenPeekContextPGPKeyDB(PGPdiskContextRef context,
PGPKeyDBRef *pPGPKeyDB);
PGPError
PGPdiskEngineExport
PGPdiskReloadContextPGPKeyDB(PGPdiskContextRef context);
PGPError
PGPdiskEngineExport
PGPdiskDirtyPGPKeyDB(PGPdiskContextRef context);
PGPContextRef
PGPdiskEngineExport
PGPdiskPeekContextPGPContext(PGPdiskContextRef context);
PGPPrefRef
PGPdiskEngineExport
PGPdiskPeekContextPGPclPrefs(PGPdiskContextRef context);
PGPError
PGPdiskEngineExport
PGPdiskContextIsThereADK(PGPdiskContextRef context, PGPBoolean *pIsThereADK);
PGPError
PGPdiskEngineExport
PGPdiskContextGetADK(PGPdiskContextRef context, PGPKeyDBObjRef *pADKKey);
PGPError
PGPdiskEngineExport
PGPdiskContextGetADKUserID(PGPdiskContextRef context, char *userID,
PGPSize availLength);
/* PGPdiskUserRef functions */
PGPError
PGPdiskEngineExport
PGPdiskNewUserWithSymmetricKey(PGPdiskUserRef cipheringUser,
const char *userName, const char *passphrase, PGPBoolean isReadOnly,
PGPdiskUserRef *pNewUser);
PGPError
PGPdiskEngineExport
PGPdiskNewUserWithPublicKey(PGPdiskUserRef cipheringUser,
PGPKeyDBObjRef pubKey, PGPBoolean isReadOnly, PGPBoolean isLocked,
PGPdiskUserRef *pNewUser);
PGPError
PGPdiskEngineExport
PGPdiskDuplicateUser(PGPdiskUserRef user, PGPdiskUserRef *pNewUser);
void
PGPdiskEngineExport
PGPdiskFreeUser(PGPdiskUserRef user);
PGPdiskContextRef
PGPdiskEngineExport
PGPdiskPeekUserContext(PGPdiskUserRef user);
PGPError
PGPdiskEngineExport
PGPdiskUserEnableCiphering(PGPdiskUserRef user, PGPdiskDiskRef disk,
const char *passphrase, int passkeylen);
void
PGPdiskEngineExport
PGPdiskUserDisableCiphering(PGPdiskUserRef user);
PGPError
PGPdiskEngineExport
PGPdiskUserGetPGPKeyID(PGPdiskUserRef user, PGPKeyID *pKeyID);
PGPError
PGPdiskEngineExport
PGPdiskUserChangePassphrase(PGPdiskUserRef symUserForCiphering,
const char *newPassphrase);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserAreUsersEqual(PGPdiskUserRef user1, PGPdiskUserRef user2);
PGPError
PGPdiskEngineExport
PGPdiskGetUserBooleanProp(PGPdiskUserRef user, PGPdiskUserPropName prop,
PGPBoolean *pBool);
PGPError
PGPdiskEngineExport
PGPdiskGetUserNumericProp(PGPdiskUserRef user, PGPdiskUserPropName prop,
PGPInt32 *pNumber);
PGPError
PGPdiskEngineExport
PGPdiskGetUserDataProp(PGPdiskUserRef user, PGPdiskUserPropName prop,
void *pData, PGPSize availLength, PGPSize *pUsedLength);
PGPError
PGPdiskEngineExport
PGPdiskSetUserBooleanProp(PGPdiskUserRef user, PGPdiskUserPropName prop,
PGPBoolean boolVal);
PGPError
PGPdiskEngineExport
PGPdiskSetUserNumericProp(PGPdiskUserRef user, PGPdiskUserPropName prop,
PGPInt32 number);
PGPError
PGPdiskEngineExport
PGPdiskSetUserDataProp(PGPdiskUserRef user, PGPdiskUserPropName prop,
const void *pData, PGPSize length);
/* PGPdiskUserSetRef functions */
PGPError
PGPdiskEngineExport
PGPdiskNewUserSet(PGPdiskUserSetRef *pUserSet);
PGPError
PGPdiskEngineExport
PGPdiskNewSingletonUserSet(PGPdiskUserRef user, PGPdiskUserSetRef *pUserSet);
void
PGPdiskEngineExport
PGPdiskFreeUserSet(PGPdiskUserSetRef userSet);
PGPUInt32
PGPdiskEngineExport
PGPdiskUserSetCount(PGPdiskUserSetRef userSet);
PGPError
PGPdiskEngineExport
PGPdiskUserSetAddUsers(PGPdiskUserSetRef userSet,
PGPdiskUserSetRef usersToAdd);
PGPError
PGPdiskEngineExport
PGPdiskUserSetAddUser(PGPdiskUserSetRef userSet,
PGPdiskUserRef userToAdd);
PGPError
PGPdiskEngineExport
PGPdiskUserSetRemoveUsers(PGPdiskUserSetRef userSet,
PGPdiskUserSetRef usersToRemove);
PGPError
PGPdiskEngineExport
PGPdiskUserSetRemoveUser(PGPdiskUserSetRef userSet,
PGPdiskUserRef userToRemove);
PGPError
PGPdiskEngineExport
PGPdiskUserSetEmptyUserSet(PGPdiskUserSetRef userSet);
/* PGPdiskUserIterRef functions */
PGPError
PGPdiskEngineExport
PGPdiskNewUserIter(PGPdiskUserSetRef userSet, PGPdiskUserIterRef *pUserIter);
void
PGPdiskEngineExport
PGPdiskFreeUserIter(PGPdiskUserIterRef userIter);
PGPdiskUserSetRef
PGPdiskEngineExport
PGPdiskPeekUserIterUserSet(PGPdiskUserIterRef userIter);
PGPUInt32
PGPdiskEngineExport
PGPdiskUserIterCount(PGPdiskUserIterRef userIter);
PGPInt32
PGPdiskEngineExport
PGPdiskUserIterIndex(PGPdiskUserIterRef userIter);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterUser(PGPdiskUserIterRef userIter, PGPdiskUserRef *pUser);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterMove(PGPdiskUserIterRef userIter, PGPInt32 relOffset,
PGPBoolean fromStart, PGPdiskUserRef *pUser);
PGPInt32
PGPdiskEngineExport
PGPdiskUserIterSeek(PGPdiskUserIterRef userIter, PGPdiskUserRef user);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterNext(PGPdiskUserIterRef userIter, PGPdiskUserRef *pUser);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterPrev(PGPdiskUserIterRef userIter, PGPdiskUserRef *pUser);
void
PGPdiskEngineExport
PGPdiskUserIterRewind(PGPdiskUserIterRef userIter);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterSearchOnUserName(PGPdiskUserIterRef userIter,
const char *userName, PGPdiskUserRef *pUser);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterFindEqualUser(PGPdiskUserIterRef userIter,
PGPdiskUserRef user, PGPdiskUserRef *pEqualUser);
PGPBoolean
PGPdiskEngineExport
PGPdiskUserIterFindAdminUser(PGPdiskUserIterRef userIter,
PGPdiskUserRef *pAdminUser);
PGPError
PGPdiskEngineExport
PGPdiskUserIterSetAdminUser(PGPdiskUserIterRef userIter,
PGPdiskUserRef userForCiphering, PGPdiskUserRef oldAdminForCiphering);
/* PGPdiskDiskRef operations */
PGPError
PGPdiskEngineExport
PGPdiskOpenDisk(PGPdiskContextRef context, const char *path,
PGPBoolean readOnly, PGPdiskDiskRef *pDisk);
PGPError
PGPdiskEngineExport
PGPdiskCloseDisk(PGPdiskDiskRef disk);
PGPdiskContextRef
PGPdiskEngineExport
PGPdiskPeekDiskContext(PGPdiskDiskRef disk);
PGPError
PGPdiskEngineExport
PGPdiskDiskExportUserSet(PGPdiskDiskRef disk, PGPdiskUserSetRef userSet);
PGPError
PGPdiskEngineExport
PGPdiskDiskImportUserSet(PGPdiskDiskRef disk, PGPdiskUserSetRef userSet,
PGPdiskUserRef adminUserForCiphering);
PGPError
PGPdiskEngineExport
PGPdiskDiskChangeOnePassphrase(PGPdiskDiskRef disk, const char *userName,
const char *oldPassphrase, const char *newPassphrase);
PGPError
PGPdiskEngineExport
PGPdiskDiskRemoveOneUser(PGPdiskDiskRef disk,
PGPdiskUserRef userForCiphering);
PGPError
PGPdiskEngineExport
PGPdiskWipeUsersOnDisk(PGPdiskDiskRef disk);
PGPError
PGPdiskEngineExport
PGPdiskReEncryptDisk(PGPdiskDiskRef disk, const char *adminPassphrase,
PGPdiskEncryptionAlgorithm newAlgorithm,
ReEncryptDiskStatusFuncType statusFunc, void *userValue);
PGPError
PGPdiskEngineExport
PGPdiskGetDiskBooleanProp(PGPdiskDiskRef disk, PGPdiskDiskPropName prop,
PGPBoolean *pBool);
PGPError
PGPdiskEngineExport
PGPdiskGetDiskNumericProp(PGPdiskDiskRef disk, PGPdiskDiskPropName prop,
PGPInt32 *pNumber);
PGPError
PGPdiskEngineExport
PGPdiskGetDiskDataProp(PGPdiskDiskRef disk, PGPdiskDiskPropName prop,
void *pData, PGPSize availLength, PGPSize *pUsedLength);
PGPError
PGPdiskEngineExport
PGPdiskSetDiskBooleanProp(PGPdiskDiskRef disk, PGPdiskDiskPropName prop,
PGPBoolean boolVal);
PGPError
PGPdiskEngineExport
PGPdiskSetDiskNumericProp(PGPdiskDiskRef disk, PGPdiskDiskPropName prop,
PGPInt32 number);
PGPError
PGPdiskEngineExport
PGPdiskSetDiskDataProp(PGPdiskDiskRef disk, PGPdiskDiskPropName prop,
const void *pData, PGPSize length);
/* Specialized PGPdiskDiskRef operations */
PGPError
PGPdiskEngineExport
PGPdiskLockDiskVolume(PGPdiskDiskRef disk, PGPBoolean forFormat);
PGPError
PGPdiskEngineExport
PGPdiskUnlockDiskVolume(PGPdiskDiskRef disk);
PGPError
PGPdiskEngineExport
PGPdiskReadDiskVolume(PGPdiskDiskRef disk, void *buffer,
PGPUInt64 blockPos, PGPUInt32 blocksLength);
PGPError
PGPdiskEngineExport
PGPdiskWriteDiskVolume(PGPdiskDiskRef disk, const void *buffer,
PGPUInt64 blockPos, PGPUInt32 blocksLength);
/* PGPdiskDiskSetRef functions */
PGPError
PGPdiskEngineExport
PGPdiskNewDiskSet(PGPdiskContextRef context, PGPdiskDiskSetRef *pDiskSet);
void
PGPdiskEngineExport
PGPdiskFreeDiskSet(PGPdiskDiskSetRef diskSet);
PGPdiskContextRef
PGPdiskEngineExport
PGPdiskPeekDiskSetContext(PGPdiskDiskSetRef diskSet);
PGPUInt32
PGPdiskEngineExport
PGPdiskDiskSetCount(PGPdiskDiskSetRef diskSet);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetMountDisk(PGPdiskDiskSetRef diskSet, const char *path,
PGPdiskUserRef user, const char *root, PGPBoolean readOnly,
PGPdiskDiskRef *pDisk);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetUnmountDisk(PGPdiskDiskSetRef diskSet, PGPdiskDiskRef disk,
PGPBoolean isForced);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetCreateDiskWithSym(PGPdiskDiskSetRef diskSet, const char *path,
PGPUInt64 blocksDisk, PGPdiskEncryptionAlgorithm algorithm,
const char *passphrase, const char *userName, const char *defaultRoot,
NewDiskStatusFuncType statusFunc, void *userValue, PGPdiskDiskRef *pDisk);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetCreateDiskWithPub(PGPdiskDiskSetRef diskSet, const char *path,
PGPUInt64 blocksDisk, PGPdiskEncryptionAlgorithm algorithm,
PGPKeyDBObjRef pubKey, const char *defaultRoot,
NewDiskStatusFuncType statusFunc, void *userValue, PGPdiskDiskRef *pDisk);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetUnmountTimedOut(PGPdiskDiskSetRef diskSet, PGPBoolean isForced);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetUnmountAll(PGPdiskDiskSetRef diskSet, PGPBoolean isForced);
PGPError
PGPdiskEngineExport
PGPdiskDiskSetWipeAllUsers(PGPdiskDiskSetRef diskSet);
PGPError
PGPdiskEngineExport
PGPdiskUpdateDiskSet(PGPdiskDiskSetRef diskSet);
/* PGPdiskDiskIterRef functions */
PGPError
PGPdiskEngineExport
PGPdiskNewDiskIter(PGPdiskDiskSetRef diskSet, PGPdiskDiskIterRef *pDiskIter);
void
PGPdiskEngineExport
PGPdiskFreeDiskIter(PGPdiskDiskIterRef diskIter);
PGPdiskDiskSetRef
PGPdiskEngineExport
PGPdiskPeekDiskIterDiskSet(PGPdiskDiskIterRef diskIter);
PGPUInt32
PGPdiskEngineExport
PGPdiskDiskIterCount(PGPdiskDiskIterRef diskIter);
PGPInt32
PGPdiskEngineExport
PGPdiskDiskIterIndex(PGPdiskDiskIterRef diskIter);
PGPBoolean
PGPdiskEngineExport
PGPdiskDiskIterDisk(PGPdiskDiskIterRef diskIter, PGPdiskDiskRef *pDisk);
PGPBoolean
PGPdiskEngineExport
PGPdiskDiskIterMove(PGPdiskDiskIterRef diskIter, PGPInt32 relOffset,
PGPBoolean fromStart, PGPdiskDiskRef *pDisk);
PGPInt32
PGPdiskEngineExport
PGPdiskDiskIterSeek(PGPdiskDiskIterRef diskIter, PGPdiskDiskRef user);
PGPBoolean
PGPdiskEngineExport
PGPdiskDiskIterNext(PGPdiskDiskIterRef diskIter, PGPdiskDiskRef *pDisk);
PGPBoolean
PGPdiskEngineExport
PGPdiskDiskIterPrev(PGPdiskDiskIterRef diskIter, PGPdiskDiskRef *pDisk);
void
PGPdiskEngineExport
PGPdiskDiskIterRewind(PGPdiskDiskIterRef diskIter);
PGPBoolean
PGPdiskEngineExport
PGPdiskDiskIterSearchOnPath(PGPdiskDiskIterRef diskIter, const char *path,
PGPdiskDiskRef *pDisk);
PGPBoolean
PGPdiskEngineExport
PGPdiskDiskIterSearchOnRoot(PGPdiskDiskIterRef diskIter, const char *root,
PGPdiskDiskRef *pDisk);
/* Miscellaneous functions */
void
PGPdiskEngineExport
PGPdiskPrefsChanged(PGPdiskContextRef context, PGPPrefRef prefs);
PGPBoolean
PGPdiskEngineExport
PGPdiskAreDisksTimedOut();
PGPBoolean
PGPdiskEngineExport
PGPdiskIsPathMountedPGPdisk(const char *path);
PGPBoolean
PGPdiskEngineExport
PGPdiskIsRootMountedPGPdisk(const char *root);
PGPUInt32
PGPdiskEngineExport
PGPdiskGetNumDiskAlgorithms();
void
PGPdiskEngineExport
PGPdiskGetDiskAlgorithmIdString(PGPdiskEncryptionAlgorithm algorithm,
char *idString, PGPUInt32 availLength);
void
PGPdiskEngineExport
PGPdiskGetSupportedDiskAlgorithms(PGPdiskEncryptionAlgorithm *pAlgArray,
PGPSize availLength, PGPSize *pUsedLength);
PGPUInt32
PGPdiskEngineExport
PGPdiskGetNeededRandomDataSize(PGPdiskEncryptionAlgorithm algorithm);
PGPError
PGPdiskEngineExport
PGPdiskNotifyUserLogoff();
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* ] Included_PGPdiskEngine_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -