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

📄 spgp.h

📁 著名的加密软件的应用于电子邮件中
💻 H
📖 第 1 页 / 共 3 页
字号:
/*
 * spgp.h -- Simple PGP API
 *
 * NOTICE:
 * THE API DESCRIBED HERE WAS DESIGNED BY VIACRYPT, INC. AND IS NOT
 * INTENDED TO BE SUPPORTED BY PGP, INC. BEYOND THE CURRENT VERSION.
 * IT WAS USED AS AN INTERIM MEASURE FOR THE CURRENT RELEASE ONLY.
 *
 * STAY TUNED FOR A NEW, IMPROVED ENCRYPTION API IN THE NEXT RELEASE.
 *
 * Copyright (C) 1996,1997 Pretty Good Privacy, Inc. All rights reserved.
 *
 * $Id: spgp.h,v 1.24.2.3.2.1 1997/06/27 15:36:22 cbertsch Exp $
 */

#ifndef SPGP_H
#define SPGP_H

/* Standard includes needed by PGP */

/*#include <stdio.h> */

/* PGP library */
#if HAVE_CONFIG_H
#include "config.h"
#endif

#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif

#include "pgpUsuals.h"
#include "pgpFileRef.h"
#include "pgpFileMod.h"
#include "pgpTextFilt.h"
#include "pgpEncPipe.h"

/*
 * Defines
 */


/* Line ending types */

typedef enum PGPLineEndType_
{
	kPGPLineEndLF	 = PGP_TEXTFILT_LF,
	kPGPLineEndCR	 = PGP_TEXTFILT_CR,
	kPGPLineEndCRLF	= (kPGPLineEndLF | kPGPLineEndCR)
} PGPLineEndType;

typedef PGPFileReadCallBack SPGPProgressCallBack;

/*
 * Return codes
 */

/* Kernel return codes */

#define KERNEL_EXIT_OK					0
#define KERNEL_EXIT_OK_NOSIG			1
#define KERNEL_FILE_NOT_FOUND_ERROR		2
#define KERNEL_UNKNOWN_FILE_ERROR		 3
#define KERNEL_NO_BATCH					4
#define KERNEL_BAD_ARG_ERROR			5
#define KERNEL_INTERRUPT				6
#define KERNEL_OUT_OF_MEM		 		 7
#define KERNEL_INVALID_FILE_OP_ERROR	8

/* Keyring errors: Base value = 10 */
#define KERNEL_KEYGEN_ERROR				10
#define KERNEL_NONEXIST_KEY_ERROR		 11
#define KERNEL_KEYRING_ADD_ERROR		12
#define KERNEL_KEYRING_EXTRACT_ERROR	13
#define KERNEL_KEYRING_EDIT_ERROR		 14
#define KERNEL_KEYRING_VIEW_ERROR		 15
#define KERNEL_KEYRING_REMOVE_ERROR		16
#define KERNEL_KEYRING_CHECK_ERROR		17
#define KERNEL_KEY_SIGNATURE_ERROR		18
#define KERNEL_KEYSIG_REMOVE_ERROR		19

/* Encode errors: Base value = 20 */
#define KERNEL_SIGNATURE_ERROR			20
#define KERNEL_RSA_ENCR_ERROR		 	21
#define KERNEL_ENCR_ERROR		 		 22
#define KERNEL_COMPRESS_ERROR		 	23

/* Decode errors: Base value = 30 */
#define KERNEL_SIGNATURE_CHECK_ERROR	30
#define KERNEL_RSA_DECR_ERROR		 	31
#define KERNEL_DECR_ERROR		 		 32
#define KERNEL_DECOMPRESS_ERROR			33

/* Things missing from the full SPGP spec */
#define SIMPLEPGP_UNIMPLEMENTED			50

/* Unseeded RNG */
#define SIMPLEPGP_RNGNOTSEEDED			51

/* Incorrect secret key passphrase */
#define SIMPLEPGP_BADKEYPASSPHRASE		52

/* Incorrect conventional key passphrase */
#define SIMPLEPGP_BADCONVENTIONALPASSPHRASE 53

/* The keyring is currently open for writing */
#define SIMPLEPGP_KEYRINGWRITELOCKED	54

/* Insufficient access to open keyrings */
#define SIMPLEPGP_KEYRINGPERMISSIONS	55

/* No PGP data in input buffer */
#define SIMPLEPGP_NOPGPDATA				56

/* Wrong keys or key types */
#define SIMPLEPGP_NONEXISTENTRECIPIENTKEY	60
#define SIMPLEPGP_NONEXISTENTSIGNERKEY		61
#define SIMPLEPGP_NONEXISTENTDECRYPTIONKEY	62
#define SIMPLEPGP_NONEXISTENTEXTRACTIONKEY	63
#define SIMPLEPGP_RECIPIENTKEYSIGNATUREONLY	64
#define SIMPLEPGP_SIGNERKEYENCRYPTIONONLY	65

/* Detached sigs found or not found when we didn't wantem */
#define SIMPLEPGP_DETACHEDSIGNATURENOTFOUND	66
#define SIMPLEPGP_DETACHEDSIGNATUREFOUND	67

/* Problems reading keyrings */
#define SIMPLEPGP_ERRORREADINGPUBRING		 68
#define SIMPLEPGP_ERRORREADINGSECRING		 69

/* Recipients could not agree on an encryption algorithm */
#define SIMPLEPGP_INCONSISTENTRECIPIENTSET	70


/* PGP-detected problems */
					/* Unexpected conditions found */
					/* (Use this code if no other code */
					/* fits, and the conditions seem so */
					/* wildly unlikely as to not need */
					/* a unique exit code - */
					/* expect the unexpected.) */
#define KERNEL_EXIT_UNEXPECTED		80
					/* Evaluation copy of executable */
					/* expire date has passed. */
#define KERNEL_EXIT_EXPIRED		81

					/* -r pgpoutfile */
					/* syntax or cannot open */
#define KERNEL_EXIT_STDOUT_FAIL	82
					/* @cmdfile or -@ cmdfile */
					/* syntax or cannot open */
#define KERNEL_EXIT_CMDFILE_OPEN	83
					/* @cmdfile mem alloc failure */
					/* arg list too big */
					/* avail mem too small */
					/* or ctrl value problem */
#define KERNEL_EXIT_CMDFILE_MEM	84
					/* @cmdfile unrecognized directive */
#define KERNEL_EXIT_CMDFILE_UNREC	85
					/* OK exit status, non-zero value */
					/* used with setjmp()/longjmp() */
					/* to resume pgp_cmd_ln()/main() */
#define KERNEL_EXIT_OK_NZ		 86
					/* Problem with kbhit() */
					/* simulation - raw terminal IO */
#define KERNEL_EXIT_TERM_IO		87
					/* Attempt to create session with */
					/* cryptographic engine - failed */
#define KERNEL_NO_CRYPT_ENGINE		88
#define KERNEL_VERSION_MISMATCH		90
#define KERNEL_CANCEL_ON_BUSY		 91

#define KERNEL_EXIT_CODE_NOT_WRITTEN	100

/* keysel return codes */
#define KEYSEL_OK 	0
#define KEYSEL_LOCKED 	201
#define KEYSEL_BADKEYRINGTYPE 202 /* The KeyRingType argument is invalid */
#define KEYSEL_BADKEYTYPE 203
#define KEYSEL_NOKEYRINGNAME 204
#define KEYSEL_USERABORT 205
#define KEYSEL_NOPGPPATH 206	/* No PGPPATH env variable set */
#define KEYSEL_OPENFAILED 207	/* fopen of keyring failed */
#define KEYSEL_EOF 208	/* End-Of-File in keyring encountered */
#define KEYSEL_BADCTBLENOFLEN 209 /* Unexpected CTB length-of-length code */
									/*in ringfile. Possible keyring corruption */
#define KEYSEL_READFAILURE 210	/* fread of ringfile failed unexpectedly */
#define KEYSEL_BADUIDLEN 211	/* User ID longer than 255 (bad!) */
#define KEYSEL_UIDTOOLONG 212	/* the length of the userid is longer */
									/* than the size of the userid element */
									/* of the pgpkey struct. */
#define KEYSEL_BADCREATIONDATE 213 /* Creation date in key is 0 */
#define KEYSEL_UNKNOWNUID 214
#define KEYSEL_NOMEMORY 215 /* malloc failed */
#define KEYSEL_BADPKT 216 /* unexpected for malformed packet found */
#define KEYSEL_BADPOINTER 217 /* one of the pointer args is invalid */
#define KEYSEL_USEIDEAONLY 218
#define KEYSEL_CANCEL_ON_BUSY 219

#define KEYSEL_UNKNOWN 225

/* Function return status codes */

#define SIMPLEPGPKEYSEL_KEYLIBOK										0
#define SIMPLEPGPKEYSEL_USEIDEAONLY										301
#define SIMPLEPGPKEYSEL_CANCEL											302
#define SIMPLEPGPKEYSEL_NULLCAPTIONSTRINGPOINTER						303
#define SIMPLEPGPKEYSEL_EMPTYCAPTIONSTRING								304
#define SIMPLEPGPKEYSEL_KEYRINGTYPENOTPUBLICORSECRET					305
#define SIMPLEPGPKEYSEL_NULLPOINTERTOSELECTEDLIST		 		 		 306
#define SIMPLEPGPKEYSEL_SELECTEDLISTLENGTHTOOSMALL						307
#define SIMPLEPGPKEYSEL_NULLPOINTERTOSELECTEDLISTCOUNT					308
#define SIMPLEPGPKEYSEL_BADINCLUDEWHATVALUE								309
#define SIMPLEPGPKEYSEL_NULLPOINTERTOUIDKIDSEARCHSTRING					310
#define SIMPLEPGPKEYSEL_BADKEYTYPEBITMAP								311
#define SIMPLEPGPKEYSEL_BADDISPLAYTYPEBITMAP							312
#define SIMPLEPGPKEYSEL_BADSHAREDBUTTONIDBITMAP							313
#define SIMPLEPGPKEYSEL_KEYRINGFILENOTFOUND								314

#define SIMPLEPGPENCRYPTFILE_OK											0
#define SIMPLEPGPENCRYPTFILE_NULLPOINTERTOINPUTFILENAME					401
#define SIMPLEPGPENCRYPTFILE_EMPTYINPUTFILENAMESTRING		 		 	402
#define SIMPLEPGPENCRYPTFILE_INPUTFILEDOESNOTEXIST						403
#define SIMPLEPGPENCRYPTFILE_NULLPOINTERTOOUTPUTFILENAME				404
#define SIMPLEPGPENCRYPTFILE_EMPTYOUTPUTFILENAMESTRING					405
#define SIMPLEPGPENCRYPTFILE_NULLPOINTERTORECIPIENTLIST					406
#define SIMPLEPGPENCRYPTFILE_EMPTYRECIPIENTLISTSTRING		 		 	407
#define SIMPLEPGPENCRYPTFILE_RECIPIENTLISTDOESNOTENDWITHNEWLINE			408
#define SIMPLEPGPENCRYPTFILE_RECIPIENTLISTDOESNOTSTARTWITHGOODCODECHAR	409
#define SIMPLEPGPENCRYPTFILE_NULLPOINTERTOSIGNERKEYIDSTRING				410
#define SIMPLEPGPENCRYPTFILE_NULLPOINTERTOSIGNERPASSPHRASESTRING		411
#define SIMPLEPGPENCRYPTFILE_NULLPOINTERTOIDEAPASSPHRASESTRING			412
#define SIMPLEPGPENCRYPTFILE_NOTENOUGHMEMORYFORINPUTSTRUCTURE		 	413
#define SIMPLEPGPENCRYPTFILE_NOTENOUGHMEMORYFOROUTPUTSTRUCTURE			414
#define SIMPLEPGPENCRYPTFILE_KEYSELCANCEL		 		 		 		 415
#define SIMPLEPGPENCRYPTFILE_SIGNERPWDBUFFERTOOSMALL					416
#define SIMPLEPGPENCRYPTFILE_IDEAPWDBUFFERTOOSMALL						417
#define SIMPLEPGPENCRYPTFILE_CANNOTUSEUNTRUSTEDKEY						418
#define SIMPLEPGPENCRYPTFILE_ENCRYPTNOTSIGN_FUNCTIONNOTENABLED			419
#define SIMPLEPGPENCRYPTFILE_ENCRYPTANDSIGN_FUNCTIONNOTENABLED			420
#define SIMPLEPGPENCRYPTFILE_CANNOTUSEUNCERTIFIEDKEY					421
#define SIMPLEPGPENCRYPTFILE_OUTPUTFILECREATIONERROR					431

#define SIMPLEPGPREADRECIPIENTLIST_OK		 		 		 		 	0
#define SIMPLEPGPREADRECIPIENTLIST_NULLPOINTEROREMPTYLIST		 		 501
#define SIMPLEPGPREADRECIPIENTLIST_LISTDOESNOTSTARTWITHGOODCODECHAR		502
#define SIMPLEPGPREADRECIPIENTLIST_AUSERIDSTRINGISTOOLONG		 		 503
#define SIMPLEPGPREADRECIPIENTLIST_OUTOFMEMORYFORUSERIDLIST				504
#define SIMPLEPGPREADRECIPIENTLIST_AKEYIDSTRINGISTOOLONG				505
#define SIMPLEPGPREADRECIPIENTLIST_OUTOFMEMORYFORKEYIDLIST				506
#define SIMPLEPGPREADRECIPIENTLIST_LISTDOESNOTENDWITHNEWLINE			507
#define SIMPLEPGPREADRECIPIENTLIST_CANNOTUSEUNTRUSTEDKEY				508

#define SIMPLEPGPENCRYPTBUFFER_NULLPOINTERTOINPUTBUFFER					601
#define SIMPLEPGPENCRYPTBUFFER_INPUTBUFFERLENGTHISZERO					602
#define SIMPLEPGPENCRYPTBUFFER_NULLPOINTERTOOUTPUTBUFFER				603
#define SIMPLEPGPENCRYPTBUFFER_NULLPOINTERTORECIPIENTLIST		 		 604
#define SIMPLEPGPENCRYPTBUFFER_EMPTYRECIPIENTLISTSTRING					605
#define SIMPLEPGPENCRYPTBUFFER_RECIPIENTLISTDOESNOTENDWITHNEWLINE		 606
#define SIMPLEPGPENCRYPTBUFFER_RECIPIENTLISTDOESNOTSTARTWITHGOODCODECHAR \
																		607
#define SIMPLEPGPENCRYPTBUFFER_NULLPOINTERTOSIGNERKEYIDSTRING		 	608
#define SIMPLEPGPENCRYPTBUFFER_NULLPOINTERTOSIGNERPASSPHRASESTRING		609
#define SIMPLEPGPENCRYPTBUFFER_NULLPOINTERTOIDEAPASSPHRASESTRING		610
#define SIMPLEPGPENCRYPTBUFFER_NOTENOUGHMEMORYFORINPUTSTRUCTURE			611
#define SIMPLEPGPENCRYPTBUFFER_NOTENOUGHMEMORYFOROUTPUTSTRUCTURE		612
#define SIMPLEPGPENCRYPTBUFFER_KEYSELCANCEL								613
#define SIMPLEPGPENCRYPTBUFFER_SIGNERPWDBUFFERTOOSMALL					614
#define SIMPLEPGPENCRYPTBUFFER_IDEAPWDBUFFERTOOSMALL					615
#define SIMPLEPGPENCRYPTBUFFER_OUTPUTBUFFERTOOSMALL						616
#define SIMPLEPGPENCRYPTBUFFER_CANNOTUSEUNTRUSTEDKEY					617
#define SIMPLEPGPENCRYPTBUFFER_ENCRYPTNOTSIGN_FUNCTIONNOTENABLED		618
#define SIMPLEPGPENCRYPTBUFFER_ENCRYPTANDSIGN_FUNCTIONNOTENABLED		619
#define SIMPLEPGPENCRYPTBUFFER_CANNOTUSEUNCERTIFIEDKEY					620
#define SIMPLEPGPENCRYPTBUFFER_16BITINPUTBUFFERLENGTHGTR65500		 	621
#define SIMPLEPGPENCRYPTBUFFER_16BITOUTPUTBUFFERLENGTHGTR65500			622

#define SIMPLEPGPSIGNFILE_NULLPOINTERTOINPUTFILENAME					701
#define SIMPLEPGPSIGNFILE_EMPTYINPUTFILENAMESTRING						702
#define SIMPLEPGPSIGNFILE_INPUTFILEDOESNOTEXIST							703
#define SIMPLEPGPSIGNFILE_NULLPOINTERTOOUTPUTFILENAME		 		 	704
#define SIMPLEPGPSIGNFILE_EMPTYOUTPUTFILENAMESTRING						705
#define SIMPLEPGPSIGNFILE_NULLPOINTERTOSIGNERKEYIDSTRING				706
#define SIMPLEPGPSIGNFILE_NULLPOINTERTOSIGNERPASSPHRASESTRING		 	707
#define SIMPLEPGPSIGNFILE_NOTENOUGHMEMORYFORINPUTSTRUCTURE				708
#define SIMPLEPGPSIGNFILE_NOTENOUGHMEMORYFOROUTPUTSTRUCTURE				709

⌨️ 快捷键说明

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