📄 spgp.h
字号:
/*
* 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 + -