📄 pgpuserinterface.h
字号:
/*____________________________________________________________________________
Copyright (C) 1997 Network Associates Inc. and affiliated companies.
All rights reserved.
This file contains the prototypes for functions which use UI to interact
with the user.
$Id: pgpUserInterface.h,v 1.40 1999/03/10 02:59:37 heller Exp $
____________________________________________________________________________*/
#ifndef Included_pgpUserInterface_h /* [ */
#define Included_pgpUserInterface_h
#include "pgpPubTypes.h"
#include "pgpGroups.h"
#if PGP_WIN32
#include "windows.h"
#endif
PGP_BEGIN_C_DECLARATIONS
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
enum PGPAdditionalRecipientRequestEnforcement_
{
kPGPARREnforcement_Invalid = 0,
kPGPARREnforcement_None = 1,
kPGPARREnforcement_Warn = 2,
kPGPARREnforcement_Strict = 3,
PGP_ENUM_FORCE( PGPAdditionalRecipientRequestEnforcement_ )
};
PGPENUM_TYPEDEF( PGPAdditionalRecipientRequestEnforcement_,
PGPAdditionalRecipientRequestEnforcement );
enum PGPRecipientSpecType_
{
kPGPRecipientSpecType_Invalid = 0,
kPGPRecipientSpecType_Key = 1,
kPGPRecipientSpecType_UserID = 2,
kPGPRecipientSpecType_KeyID = 3,
PGP_ENUM_FORCE( PGPRecipientSpecType_ )
};
PGPENUM_TYPEDEF( PGPRecipientSpecType_, PGPRecipientSpecType );
typedef struct PGPRecipientSpec
{
PGPRecipientSpecType type;
PGPBoolean locked;
PGPBoolean reserved8[3]; /* Must be zero */
PGPUInt32 reserved32[3]; /* Must be zero */
union
{
PGPKeyRef key;
char userIDStr[256]; /* Null terminated string */
struct
{
PGPKeyID keyID;
PGPPublicKeyAlgorithm algorithm;
} id;
} u;
} PGPRecipientSpec;
typedef struct PGPKeyServerSpec
{
PGPKeyServerRef server;
const char *serverName; /* Optional */
PGPUInt32 reserved[5]; /* Must be zero */
} PGPKeyServerSpec;
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
PGPError PGPRecipientDialog(
PGPContextRef context,
PGPKeySetRef allKeys,
PGPBoolean alwaysDisplayDialog,
PGPKeySetRef *recipientKeys,
PGPOptionListRef firstOption, ... );
PGPError PGPPassphraseDialog(
PGPContextRef context,
PGPOptionListRef firstOption, ... );
PGPError PGPConfirmationPassphraseDialog(
PGPContextRef context,
PGPOptionListRef firstOption, ... );
PGPError PGPKeyPassphraseDialog(
PGPContextRef context,
PGPKeyRef theKey,
PGPOptionListRef firstOption, ... );
PGPError PGPSigningPassphraseDialog(
PGPContextRef context,
PGPKeySetRef allKeys,
PGPKeyRef *signingKey,
PGPOptionListRef firstOption, ... );
PGPError PGPDecryptionPassphraseDialog(
PGPContextRef context,
PGPKeySetRef recipientKeys,
PGPUInt32 keyIDCount,
const PGPKeyID keyIDList[],
PGPKeyRef *decryptionKey,
PGPOptionListRef firstOption, ... );
PGPError PGPConventionalEncryptionPassphraseDialog(
PGPContextRef context,
PGPOptionListRef firstOption, ... );
PGPError PGPConventionalDecryptionPassphraseDialog(
PGPContextRef context,
PGPOptionListRef firstOption, ... );
PGPError PGPOptionsDialog(
PGPContextRef context,
PGPOptionListRef firstOption, ... );
PGPError PGPCollectRandomDataDialog(
PGPContextRef context,
PGPUInt32 neededEntropyBits,
PGPOptionListRef firstOption, ... );
PGPError PGPSearchKeyServerDialog(
PGPContextRef context,
PGPUInt32 serverCount,
const PGPKeyServerSpec serverList[],
PGPtlsContextRef tlsContext,
PGPBoolean searchAllServers,
PGPKeySetRef *foundKeys,
PGPOptionListRef firstOption, ... );
PGPError PGPSendToKeyServerDialog(
PGPContextRef context,
const PGPKeyServerSpec *server,
PGPtlsContextRef tlsContext,
PGPKeySetRef keysToSend,
PGPKeySetRef *failedKeys,
PGPOptionListRef firstOption, ... );
/*
** Returns a value in the range 0-100 which crudely estimates
** the "quality" of a passphrase.
*/
PGPUInt32 PGPEstimatePassphraseQuality(const char *passphrase);
/* General dialog options */
PGPOptionListRef PGPOUIDialogPrompt(PGPContextRef context,
const char *prompt);
PGPOptionListRef PGPOUIWindowTitle(PGPContextRef context,
const char *title);
PGPOptionListRef PGPOUIDialogOptions(PGPContextRef context,
PGPOptionListRef firstOption, ...);
#if PGP_WIN32
PGPOptionListRef PGPOUIParentWindowHandle(PGPContextRef context,
HWND hwndParent);
#endif
/* All passphrase dialogs */
/* Caller should free passphrase with PGPFreeData() */
PGPOptionListRef PGPOUIOutputPassphrase(PGPContextRef context,
char **passphrase);
PGPOptionListRef PGPOUIMinimumPassphraseQuality(PGPContextRef context,
PGPUInt32 minimumPassphraseQuality);
PGPOptionListRef PGPOUIMinimumPassphraseLength(PGPContextRef context,
PGPUInt32 minimumPassphraseLength);
/* PGPConfirmationPassphraseDialog() options */
PGPOptionListRef PGPOUIShowPassphraseQuality(PGPContextRef context,
PGPBoolean showPassphraseQuality);
/* PGPSigningPassphraseDialog() and PGPDecryptionPassphraseDialog() options */
PGPOptionListRef PGPOUIDefaultKey(PGPContextRef context,
PGPKeyRef defaultKey);
PGPOptionListRef PGPOUIVerifyPassphrase(PGPContextRef context,
PGPBoolean verifyPassphrase);
PGPOptionListRef PGPOUIFindMatchingKey(PGPContextRef context,
PGPBoolean findMatchingKey);
PGPOptionListRef PGPOUITextUI(PGPContextRef context, PGPBoolean textUI);
/* PGPRecipientDialog() options: */
PGPOptionListRef PGPOUIRecipientList(PGPContextRef context,
PGPUInt32 *recipientCount,
PGPRecipientSpec **recipientList);
PGPOptionListRef PGPOUIDefaultRecipients(PGPContextRef context,
PGPUInt32 recipientCount,
const PGPRecipientSpec recipientList[]);
PGPOptionListRef PGPOUIDisplayMarginalValidity(PGPContextRef context,
PGPBoolean displayMarginalValidity);
PGPOptionListRef PGPOUIIgnoreMarginalValidity(PGPContextRef context,
PGPBoolean ignoreMarginalValidity);
PGPOptionListRef PGPOUIRecipientGroups(PGPContextRef context,
PGPGroupSetRef groupSet);
PGPOptionListRef PGPOUIEnforceAdditionalRecipientRequests(
PGPContextRef context,
PGPAdditionalRecipientRequestEnforcement enforcement,
PGPBoolean alwaysDisplayDialogWithARRs);
/* PGPDecryptionPassphraseDialog() and PGPRecipientDialog() only: */
PGPOptionListRef PGPOUIKeyServerUpdateParams(PGPContextRef context,
PGPUInt32 serverCount,
const PGPKeyServerSpec serverList[],
PGPtlsContextRef tlsContext,
PGPBoolean searchBeforeDisplay,
PGPKeySetRef *foundKeys,
PGPOptionListRef firstOption, ...);
/* Key server search dialog options */
PGPOptionListRef PGPOUIKeyServerSearchFilter(PGPContextRef context,
PGPFilterRef filter);
PGPOptionListRef PGPOUIKeyServerSearchKey(PGPContextRef context,
PGPKeyRef key);
PGPOptionListRef PGPOUIKeyServerSearchKeySet(PGPContextRef context,
PGPKeySetRef keySet);
PGPOptionListRef PGPOUIKeyServerSearchKeyIDList(PGPContextRef context,
PGPUInt32 keyIDCount, const PGPKeyID keyIDList[] );
/*
** These options are used to build the options dialog and are only
** applicable for the PGPOptionsDialog() and PGPOUIDialogOptions() calls.
** The "description" parameters are optional.
*/
PGPOptionListRef PGPOUICheckbox(PGPContextRef context, PGPUInt32 itemID,
const char *title, const char *description,
PGPUInt32 initialValue, PGPUInt32 *resultPtr,
PGPOptionListRef firstOption, ...);
PGPOptionListRef PGPOUIPopupList(PGPContextRef context, PGPUInt32 itemID,
const char *title, const char *description,
PGPUInt32 listItemCount, const char *listItems[],
PGPUInt32 initialValue, PGPUInt32 *resultPtr,
PGPOptionListRef firstOption, ...);
#if PRAGMA_IMPORT_SUPPORTED
#pragma import reset
#endif
PGP_END_C_DECLARATIONS
#endif /* ] Included_pgpUserInterface_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 + -