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

📄 pgpoptionlistpriv.h

📁 可以实现对邮件的加密解密以及签名
💻 H
📖 第 1 页 / 共 2 页
字号:
{
	PGPUInt32		trustLevel;
	PGPUInt32		trustValue;

} PGPOCertificateTrustDesc;

typedef struct PGPOPGPMIMEEncodingDesc
{
	PGPUInt32		mimeEncoding;
	PGPSize *		mimeBodyOffset;
	char *			mimeSeparator;
} PGPOPGPMIMEEncodingDesc;

typedef struct PGPOUICheckboxDesc
{
	PGPUInt32		itemID;
	const char *	title;
	const char *	description;
	PGPUInt32 *		valuePtr;

} PGPOUICheckboxDesc;

typedef struct PGPOUIPopupListDesc
{
	PGPUInt32		itemID;
	const char *	title;
	const char *	description;
	PGPUInt32		numListItems;
	const char **	listItems;
	PGPUInt32 *		valuePtr;

} PGPOUIPopupListDesc;

typedef struct PGPOUIKeyServerParamsDesc
{
	struct PGPKeyServerSpec	*serverList;
	PGPUInt32 				serverCount;
	PGPtlsContextRef		tlsContext;
	PGPBoolean 				searchBeforeDisplay;
	PGPKeyDBRef 			*foundKeys;

} PGPOUIKeyServerParamsDesc;

typedef struct PGPOUIARRParamsDesc
{
	PGPUInt32	displayDialog	: 1;
	PGPUInt32	enforcement		: 31;
	
} PGPOUIARRParamsDesc;

typedef struct PGPOUIRecipientListDesc
{
	PGPUInt32				*recipientCount;
	struct PGPRecipientSpec	**recipientList;
	
} PGPOUIRecipientListDesc;

typedef struct PGPONetHostNameDesc
{
	const char 	*hostName;
	PGPUInt16 	port;
	const char	*path;
} PGPONetHostNameDesc;

typedef struct PGPONetHostAddressDesc
{
	PGPUInt32	hostAddress;
	PGPUInt16 	port;

} PGPONetHostAddressDesc;

typedef union
{
	PGPUInt32				asUInt;
	PGPInt32				asInt;
	void *					asPtr;
	const void *			asConstPtr;
	PGPTime					asTime;
	PGPTimeInterval			asInterval;
	PFLFileSpecRef			asFileRef;
	PGPKeyDBObjRef			asKeyDBObjRef;
	PGPKeySetRef			asKeySetRef;
	PGPKeyDBRef				asKeyDBRef;
	PGPCipherAlgorithm		asCipherAlgorithm;
	PGPHashAlgorithm		asHashAlgorithm;
	PGPValidity				asValidity;
	PGPGroupSetRef			asGroupSetRef;
	PGPFilterRef			asFilterRef;
	PGPtlsContextRef		asTLSContextRef;
	PGPOUIARRParamsDesc		asARRParams;
	
} PGPOptionValue;

enum
{
	kPGPOptionHandler_InvalidOperation		= 0,
	kPGPOptionHandler_FreeDataOperation		= 1,
	kPGPOptionHandler_CopyDataOperation		= 2
};

typedef PGPUInt32	PGPOptionHandlerOperation;

typedef PGPError 	(*PGPOptionHandlerProcPtr)(
								PGPContextRef context,
								PGPOptionHandlerOperation operation,
								PGPOptionType type,
								PGPOptionValue inputValue,
								PGPSize inputValueSize,
								PGPOptionValue *outputValue,
								PGPSize *outputValueSize );

struct PGPOption
{
	PGPOptionType			type;
	PGPOptionFlags			flags;
	PGPOptionValue			value;
	PGPSize					valueSize;
	PGPOptionListRef		subOptions;		/* Can be NULL */
	PGPOptionHandlerProcPtr	handlerProc;	/* Can be NULL */
};

typedef struct PGPOption	PGPOption;

#define kPGPEndOfArgsOptionListRef		((PGPOptionListRef) -1L)
#define kPGPOutOfMemoryOptionListRef	((PGPOptionListRef) -2L)
#define kPGPBadParamsOptionListRef		((PGPOptionListRef) -3L)
#define kPGPNullOptionListRef			((PGPOptionListRef) -4L)
#define kPGPSDKErrorStateOptionListRef	((PGPOptionListRef) -5L)

PGP_BEGIN_C_DECLARATIONS

PGPError			pgpAddJobOptionsArgs(PGPJobRef job,
							PGPOptionListRef firstOption,
							va_list remainingOptions);
PGPError			pgpAppendOptionListArgs(PGPOptionListRef optionList,
							PGPOptionListRef firstOption,
							va_list remainingOptions);
PGPOptionListRef	pgpBuildOptionListArgs(
							PGPContextRef context,
							PGPBoolean createPersistentList,
							PGPOptionListRef firstOption,
							va_list remainingOptions);
PGPError			pgpFreeVarArgOptionList( PGPOptionListRef firstOption,
							va_list args );
	
PGPError			pgpCopyOption(PGPContextRef context,
						const PGPOption	*sourceOption, PGPOption *destOption);
PGPOptionListRef	pgpCopyOptionList(PGPOptionListRef optionList);
void				pgpFreeOptionList(PGPOptionListRef optionList);
PGPOptionListRef	pgpNewOneOptionList(PGPContextRef context,
						const PGPOption *option);
PGPOptionListRef	pgpNewOptionList(PGPContextRef context,
						PGPBoolean createPersistentList);
PGPBoolean			pgpOptionListIsReal(PGPOptionListRef optionList);
PGPBoolean			pgpOptionListIsValid(PGPOptionListRef optionList);
PGPError			pgpOptionListToError( PGPOptionListRef optionList );

PGPUInt32			pgpGetOptionListCount(PGPOptionListRef optionList);
PGPError			pgpGetOptionListError(PGPOptionListRef optionList);
void				pgpSetOptionListError(PGPOptionListRef optionList,
							PGPError error);
PGPError			pgpGetIndexedOption(PGPOptionListRef optionList,
							PGPUInt32 searchIndex,
							PGPBoolean markAsRecognized,
							PGPOption *optionData);
PGPError			pgpGetIndexedOptionType(PGPOptionListRef optionList,
							PGPOptionType optionType, PGPUInt32	searchIndex,
							PGPBoolean markAsRecognized, PGPOption *optionData,
							PGPUInt32 *numFoundOptions);

PGPError			pgpCheckOptionsInSet(PGPOptionListRef optionList,
							PGPOptionType const *optionSet,
							PGPUInt32 optionSetSize);

/* Parsing Helper Functions */

PGPError	pgpSearchOptionSingle(PGPOptionListRef optionList,
						PGPOptionType optionType, PGPOption *optionData);

PGPError	pgpSearchOption(PGPOptionListRef optionList,
						PGPOptionType optionType, PGPUInt32 searchIndex,
						PGPOption *optionData);

PGPUInt32	pgpSearchPassphraseOptions(PGPOptionListRef optionList,
						void **pass1, PGPSize *pass1Length,
						PGPBoolean  *pass1Hashed, void **pass2,
						PGPSize *pass2Length, PGPBoolean*pass2Hashed);

PGPError	pgpFindOptionArgs(PGPOptionListRef optionList,
						PGPOptionType optionType, PGPBoolean fMandatory,
						const char *str, ...);

void		pgpCleanupOptionList(PGPOptionListRef *optionList);

PGPError	pgpOptionInt(PGPOption *op, PGPInt32 *pInt);

PGPError	pgpOptionUInt(PGPOption *op, PGPUInt32 *pUInt);

PGPError	pgpOptionPtr(PGPOption *op, void **pPtr);

PGPError	pgpOptionInterval(PGPOption *op, PGPTimeInterval *pInterval);

PGPError	pgpOptionPtrLength(PGPOption *op, void **pPtr, PGPSize *pLength);

PGPError	pgpOptionPtrPtr(PGPOption *op, void **pPtr, void **pPtr2);

PGPError	pgpOptionPtrLengthPtr(PGPOption *op, void **pPtr, PGPSize *pLength,
						void **pPtr2) ;

char *		pgpAllocCString(PGPContextRef context, char const *string);

/* PGPO Creation Utilities */

PGPOptionListRef	pgpCreateCustomValueOptionList(PGPContextRef context,
							PGPOptionType type, PGPOptionFlags flags,
							const PGPOptionValue *value, PGPSize valueSize,
							PGPOptionListRef subOptions,
							PGPOptionHandlerProcPtr	handlerProc);
	
PGPOptionListRef	pgpCreateStandardValueOptionList(PGPContextRef context,
							PGPOptionType type, const PGPOptionValue *value,
							PGPSize valueSize,
							PGPOptionHandlerProcPtr handlerProc);
	
PGPOptionListRef	pgpCreateFileRefOptionList(PGPContextRef context,
							PGPOptionType type, PGPFileSpecRef fileRef);
	
PGPOptionListRef	pgpCreateSensitiveOptionList(PGPContextRef context,
							PGPOptionType type, void const *sensitiveData,
							PGPSize sensitiveDataSize);
	
PGPOptionListRef	pgpCreateBufferOptionList(PGPContextRef context,
							PGPOptionType type, void const *bufferData,
							PGPSize bufferDataSize);
	
					
PGPError	pgpSensitiveOptionHandlerProc(PGPContextRef context,
						PGPOptionHandlerOperation operation,
						PGPOptionType type, PGPOptionValue inputValue,
						PGPSize inputValueSize, PGPOptionValue *outputValue,
						PGPSize *outputValueSize);

PGPError	pgpBufferOptionHandlerProc(PGPContextRef context,
						PGPOptionHandlerOperation operation,
						PGPOptionType type, PGPOptionValue inputValue,
						PGPSize inputValueSize, PGPOptionValue *outputValue,
						PGPSize *outputValueSize);

PGPError	pgpFileRefOptionHandlerProc(PGPContextRef context,
						PGPOptionHandlerOperation operation,
						PGPOptionType type, PGPOptionValue inputValue,
						PGPSize inputValueSize, PGPOptionValue *outputValue,
						PGPSize *outputValueSize);
	
		
PGP_END_C_DECLARATIONS

#endif /* ] Included_pgpOptionListPriv_h */

/*__Editor_settings____

	Local Variables:
	tab-width: 4
	End:
	vi: ts=4 sw=4
	vim: si
_____________________*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -