📄 pgpannotate.h
字号:
/*
* pgpAnnotate.h -- This is the list of known annotations. Each
* annotation has its own number, to make it unique.
* In addition, this list really should not change too
* much over time.
*
* Copyright (C) 1995-1997 Pretty Good Privacy, Inc. All rights reserved.
*
* Written by: Derek Atkins <warlord@MIT.EDU> and Colin Plumb
*
* This is a Public API Function Header.
*
* $Id: pgpAnnotate.h,v 1.7.2.1 1997/06/07 09:50:18 mhw Exp $
*/
#ifndef PGPANNOTATE_H
#define PGPANNOTATE_H
#ifdef __cplusplus
extern "C" {
#endif
/* Convert a scope type (via a begin) to a string */
const char PGPExport *pgpScopeName (int type);
/* NOTE: Begin scope always ends in 0x00, End scope always ends in 0x01 */
#define PGP_IS_SCOPE_MARKER(x) (((x) & 0xfe) == 0x00)
#define PGP_IS_END_SCOPE(x) (((x) & 0xff) == 0x01)
#define PGP_IS_BEGIN_SCOPE(x) (((x) & 0xff) == 0x00)
/*
* Given an annotation type, update the current scope depth accordingly.
* Can be followed with "pgpAssert(depth != -1)".
*/
#define PGP_SCOPE_DEPTH_UPDATE(depth,x) \
if (PGP_IS_SCOPE_MARKER(x)) \
(depth) += PGP_IS_BEGIN_SCOPE(x) ? 1 : -1
/* Commit to sending the current packet: e.g., request a callback! */
#define PGPANN_COMMIT 0x002
/*
* There are four possible packet-ended-too-early cases, based on
* two binary options. The first binary option is whether the
* end is caused by EOF or a short packet length. (E.g. an
* encrypted packet that does not at least contain an IV.)
* These are called the _TRUNCATED and _SHORT cases, respectively.
* The second is whether the problem applies to the current scope
* or not. I.e. is it at the current parsing level, or one level
* down? These are marked as _SCOPE_ and _PACKET_, respectively.
*/
#define PGPANN_PACKET_TRUNCATED 0x010
#define PGPANN_PACKET_SHORT 0x011
#define PGPANN_SCOPE_TRUNCATED 0x012
#define PGPANN_SCOPE_SHORT 0x013
/* A signature is too damn big to pass as an annotation */
#define PGPANN_SIGNATURE_TOO_BIG 0x020
/* An encrypted session key is too damn big */
#define PGPANN_ESK_TOO_BIG 0x021
/* For a FileWrite module: start a new file. */
#define PGPANN_NEWFILE_START 0x030
/* Memory buffer output module; size of buffer, bytes requested to write */
#define PGPANN_MEM_BUFSIZE 0x40
#define PGPANN_MEM_BYTECOUNT 0x41
#define PGPANN_MEM_ENABLE 0x42
/* Status requests of the ascii armor parser */
#define PGPANN_PARSEASC_MSG_COUNT 0x050
#define PGPANN_PARSEASC_MSG_LEFT 0x051
#define PGPANN_PARSEASC_MSG_CURRENT 0x052
#define PGPANN_PARSEASC_MSG_PARTS 0x053
#define PGPANN_PARSEASC_MSG_PARTINFO 0x054
/* Parser Callbacks */
#define PGPANN_PARSER_EATIT 0x102
#define PGPANN_PARSER_PASSTHROUGH 0x103
#define PGPANN_PARSER_PROCESS 0x104
#define PGPANN_PARSER_RECURSE 0x105
/* Unrecognized packet type (EATIT, PASSTHROUGH, PROCESS options only) */
#define PGPANN_UNKNOWN_BEGIN 0x200
#define PGPANN_UNKNOWN_END 0x201
/* Literal Packet information */
#define PGPANN_LITERAL_BEGIN 0x300
#define PGPANN_LITERAL_END 0x301
#define PGPANN_LITERAL_TYPE 0x302
#define PGPANN_LITERAL_NAME 0x303
#define PGPANN_LITERAL_TIMESTAMP 0x304
/* Cipher Packet Information */
#define PGPANN_CIPHER_BEGIN 0x400
#define PGPANN_CIPHER_END 0x401
#define PGPANN_CIPHER_NOTEXT 0x402
#define PGPANN_SKCIPHER_ESK 0x403
#define PGPANN_PKCIPHER_ESK 0x404
/* Compressed Packet Information */
#define PGPANN_COMPRESSED_BEGIN 0x500
#define PGPANN_COMPRESSED_END 0x501
/* Comment Packet Information */
#define PGPANN_COMMENT_BEGIN 0x600
#define PGPANN_COMMENT_END 0x601
/* Signed messages */
#define PGPANN_SIGNED_BEGIN 0x900
#define PGPANN_SIGNED_END 0x901
#define PGPANN_SIGNED_SIG 0x902
#define PGPANN_SIGNED_SIG2 0x903
#define PGPANN_SIGNED_SEP 0x904
/* Hash Packets */
#define PGPANN_HASH_REQUEST 0x910 /* Callback */
#define PGPANN_HASH_VALUE 0x920 /* Double callback (!) */
/* PGP Key Data */
#define PGPANN_PGPKEY_BEGIN 0xF00
#define PGPANN_PGPKEY_END 0xF01
/* Not a packet at all (EATIT, PASSTHROUGH options only) */
#define PGPANN_NONPACKET_BEGIN 0x1000
#define PGPANN_NONPACKET_END 0x1001
/* From the Armor Parser. text not in armor */
#define PGPANN_NONPGP_BEGIN 0x1100
#define PGPANN_NONPGP_END 0x1101
/* Ascii Armor'ed data */
#define PGPANN_ARMOR_BEGIN 0x1200
#define PGPANN_ARMOR_END 0x1201
#define PGPANN_ARMOR_PART 0x1202
#define PGPANN_ARMOR_BADLINE 0x1203
#define PGPANN_ARMOR_BADHEADER 0x1204
#define PGPANN_ARMOR_TOOLONG 0x1205
#define PGPANN_ARMOR_NOCRC 0x1206
#define PGPANN_ARMOR_CRCCANT 0x1207
#define PGPANN_ARMOR_CRCBAD 0x1208
/* Clearsigned Data */
#define PGPANN_CLEARSIG_BEGIN 0x1300
#define PGPANN_CLEARSIG_END 0x1301
/* Main input scope -- only an application should send this annotation */
#define PGPANN_INPUT_BEGIN 0x1400
#define PGPANN_INPUT_END 0x1401
/* Independent files. */
#define PGPANN_FILE_BEGIN 0x1500
#define PGPANN_FILE_END 0x1501
/* Armor Multipart messages */
#define PGPANN_MULTIARMOR_BEGIN 0x1600
#define PGPANN_MULTIARMOR_END 0x1601
#ifdef __cplusplus
}
#endif
#endif /* PGPANNOTATE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -