⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgpdiskengine.h

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 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 + -