亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? encoding.h

?? PGP8.0源碼 請認真閱讀您的文件包然后寫出其具體功能
?? H
字號:
/*
 *  Functions to encode and decode using BASE64 or Quoted-Printable
 *  Also a transfer-encoding header line parser
 *
 *  Filename: encoding.h
 *
 *  Last Edited: September 24, 1996
 *
 *  Author: Scott Manjourides
 *
 *  Portions adopted from code originally written by Stever Dorner.
 *  Copyright 1995, 1996 QUALCOMM Inc.
 *
 *  Send comments and questions to <emsapi-info@qualcomm.com>
 *
 */

/*	$Id: ENCODING.H,v 1.1 1999/10/05 16:29:27 dgal Exp $	*/

#ifndef EMS_ENCODING_H
#define EMS_ENCODING_H

/*
 * state buffer for base64 encoding. Initialize all values to zero.
 */
typedef struct {
	unsigned char partial[4];
	short partialCount;
	short bytesOnLine;
} Enc64, *Enc64Ptr;

/*
 * state buffer for base64 decoding. Initialize all values to zero.
 */
typedef struct {
	short decoderState;		/* which of 4 bytes are we seeing now? */
	long invalCount;		/* how many bad chars found so far? */
	long padCount;			/* how many pad chars found so far? */
	unsigned char partial;/* partially decoded byte from/for last/next time */
	short wasCR;			/* was the last character a carriage return? */
} Dec64, *Dec64Ptr;

/*
 * used internally to track parsing state
 */
typedef enum {
	qpNormal,
	qpEqual,
	qpEncoded,
	qpTrailingWhitespace,
	qpError
} QPStates;

/*
 * state buffer for QP encoding. Initialize all values to zero.
 */
typedef struct {
	int nCurLineLen; /* Number of characters outputed to current line */
	char cLastChar;  /* Last character read in */
} EncQP, *EncQPPtr;

/*
 * state buffer for QP decoding. Initialize CurState to qpNormal.
 */
typedef struct {
	QPStates CurState;
	char cLastChar;
} DecQP, *DecQPPtr;

/*
 * Valid return values for rfc822_parse_cte which specify the trasnfer
 * encoding found in the parsed header line
 */
typedef enum {
	CTE_Error,
	CTE_Base64,
	CTE_QP,
	CTE_7bit,
	CTE_8bit,
	CTE_Binary,
	CTE_NONE
} TrEncType;

/*****************************************************************************/
/*                                B A S E 6 4                                */
/*****************************************************************************/

/*
 *  Convert binary data to base64
 *
 *  Args:
 *   binPtr     [IN]     the binary data (or NULL to close encoder)
 *   binLen     [IN]     the length of the binary data
 *   sixFourPtr [IN]     pointer to buffer for the base64 data
 *   e64        [IN/OUT] state; caller must preserve
 *
 *  Returns: The length of the base64 data
 */
long Encode64(char *bin, long len, char *sixFour, Enc64Ptr e64);

/*
 *  Convert base64 data to binary
 *
 *  Args:
 *   sixFourPtr [IN]     the base64 data (or nil to close decoder)
 *   sixFourLen [IN]     the length of the base64 data
 *   binPtr     [IN]     pointer to buffer to hold binary data
 *   d64        [IN/OUT] pointer to decoder state; caller must preserve
 *   decErrCnt  [OUT]    the number of decoding errors found
 *
 *  Returns: The length of the binary data
 */
long Decode64(char *sixFour, 
			  long sixFourLen, 
			  char *bin, Dec64Ptr d64, 
			  long *decErrCnt);

/*****************************************************************************/
/*                      Q U O T E D - P R I N T A B L E                      */
/*****************************************************************************/

/* ------------------------------------------------------------------------- */
/* NOTE: To handle BINARY data, you must always quote newline characters,    */
/*   this implementation assumes TEXT data and thus does not encode newlines */
/* ------------------------------------------------------------------------- */

/*
 *  Convert binary data to quoted-printable
 *
 *  Args:
 *   pBin     [IN]     the binary data (or NULL to close the encoder)
 *   nLen     [IN]     the length of the binary data 
						(or 0 to close the encoder)
 *   pQP      [IN]     pointer to buffer for the quoted-printable data
 *   eQPstate [IN/OUT] state; caller must preserve
 *
 *  Returns: The length of the quoted-printable data
 */
long EncodeQP(char *bin, long len, char *qp, EncQPPtr eQP);

/*
 *  Convert quoted printable data to binary
 *
 *  Args:
 *   pQP       [IN]     the quoted printable data 
							(or NULL to close the decoder)
 *   nLen      [IN]     the length of the quoted printable data 
							(or 0 to close the decoder)
 *   pBin      [IN]     pointer to buffer to hold binary data
 *   dQPstate  [IN/OUT] pointer to decoder state; caller must preserve
 *   decErrCnt [OUT]    the number of decoding errors found
 *
 *  Returns: The length of the binary data
 */
long DecodeQP(char *qp, long qpLen, char *bin, DecQPPtr dqp, long *decErrCnt);

/*****************************************************************************/
/*                             CTE   P A R S E R                             */
/*****************************************************************************/

/*
 *  Parse Content-Transer-Encoding header line
 *
 *  Args:
 *   src [IN] Valid Transfer-Encoding header.
 *
 *  Returns: enumerated integer 'TrEncType' type specifying CTE (see above).
 */
TrEncType rfc822_parse_cte(const char *src);

/*
 *  Create Content-Transer-Encoding header line
 *
 *  NOTE: The user of this function is responsible for freeing the
 *        returned string.
 *
 *  Args:
 *   mechanism [IN] Enumerated integer 'TrEncType' type specifying CTE.
 *
 *  Returns: Content tranfer encoding header line string.
 */
char *rfc822_make_cte(TrEncType mechanism);

/*
 *  Finds and extracts the content transfer encoding header line from a full
 *  multi-lined header. All unfolding (removing newlines) is done before
 *  header line is returned.
 *
 *  NOTE: The user of this function is responsible for freeing the
 *        returned string.
 *
 *  Args:
 *   pFullHeader [IN] Pointer to a full RFC822 header, including newlines
 *
 *  Returns: Extracted header line string; dynamically allocated.
 */
char *rfc822_extract_cte(const char *pFullHeader);

#endif /* EMS_ENCODING_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩卡一| 欧美大尺度电影在线| 国产高清不卡一区二区| 日韩va亚洲va欧美va久久| 一区二区三区国产| 亚洲婷婷在线视频| 一区二区在线观看视频| 亚洲欧美视频一区| 亚洲大型综合色站| 麻豆91小视频| 国产美女视频91| 成人不卡免费av| 一本大道久久a久久综合| 在线日韩一区二区| 欧美日韩免费观看一区三区| 9191久久久久久久久久久| 欧美日本国产一区| 久久综合九色综合欧美98 | 亚洲色图在线视频| 一区二区三区久久久| 午夜电影网亚洲视频| 激情综合色综合久久综合| 国产99一区视频免费| 91精品1区2区| 日韩欧美国产综合一区| 国产精品区一区二区三区| 亚洲国产一区二区三区青草影视| 婷婷夜色潮精品综合在线| 日本欧美肥老太交大片| 岛国一区二区在线观看| 在线精品亚洲一区二区不卡| 日韩精品中文字幕在线不卡尤物| 久久婷婷久久一区二区三区| 尤物在线观看一区| 国内外成人在线| 在线一区二区三区做爰视频网站| 欧美一区二区三级| 亚洲日韩欧美一区二区在线| 秋霞电影一区二区| 91精彩视频在线| 久久久久9999亚洲精品| 亚洲电影第三页| 成人激情视频网站| 欧美成人精品二区三区99精品| 国产精品不卡在线观看| 国产在线精品一区二区夜色| 欧美在线一二三四区| 中文字幕不卡在线观看| 日本女人一区二区三区| 色婷婷综合五月| 国产精品网友自拍| 三级一区在线视频先锋| 91丨九色丨国产丨porny| wwwwww.欧美系列| 日本美女视频一区二区| 欧美在线小视频| 亚洲欧美日韩一区二区| 国产精品影音先锋| 91精品国产91久久综合桃花 | 亚洲视频图片小说| 久色婷婷小香蕉久久| 欧美日韩黄色一区二区| 亚洲精品国产a| 成人一区二区三区视频在线观看| 欧美一区二区三区视频在线观看| 一区二区三区不卡视频在线观看| a级精品国产片在线观看| 久久男人中文字幕资源站| 久久99精品久久只有精品| 日韩一区二区视频| 无码av中文一区二区三区桃花岛| 色哟哟国产精品| 亚洲在线免费播放| 欧美在线不卡视频| 久久国产尿小便嘘嘘尿| 宅男在线国产精品| 免费成人av在线播放| 91麻豆精品国产91久久久久久 | 欧美日韩在线观看一区二区 | 夜夜嗨av一区二区三区四季av| 成人精品国产一区二区4080| 国产欧美日韩在线视频| 国产999精品久久| **性色生活片久久毛片| 色域天天综合网| 亚洲高清视频中文字幕| 欧美一区二区三区在线观看| 久久草av在线| 国产精品色在线| 91久久精品网| 日本欧美一区二区在线观看| 欧美成人一区二区三区在线观看| 精品一区二区三区的国产在线播放| 欧美va亚洲va| 成人美女视频在线观看| 一区二区三区在线免费播放| 91精品国产综合久久福利软件 | 日本欧美大码aⅴ在线播放| 精品国产91亚洲一区二区三区婷婷| 久久精品国产精品亚洲综合| 久久久久97国产精华液好用吗| 99久久久精品| 免费在线欧美视频| 国产精品素人一区二区| 欧美色爱综合网| 国产麻豆精品在线| 亚洲福利电影网| 国产午夜精品一区二区| 在线观看91视频| 狠狠色丁香久久婷婷综合_中| 亚洲欧洲精品成人久久奇米网 | 狂野欧美性猛交blacked| 欧美韩国一区二区| 欧美日韩黄视频| 成人激情小说乱人伦| 视频在线观看国产精品| 欧美激情一区二区三区全黄| 欧美日韩国产综合草草| 粉嫩久久99精品久久久久久夜| 亚洲电影一级片| 国产精品成人在线观看| 678五月天丁香亚洲综合网| 丁香六月综合激情| 精品一区二区精品| 亚洲成va人在线观看| 亚洲精品免费在线| 2023国产精品自拍| 欧美日韩国产在线观看| 国产自产高清不卡| 午夜精品久久一牛影视| 亚洲桃色在线一区| 久久久久亚洲蜜桃| 欧美一激情一区二区三区| 一本色道综合亚洲| 成人黄色电影在线 | 午夜精品久久一牛影视| 亚洲视频1区2区| 国产欧美精品一区aⅴ影院| 欧美一级欧美一级在线播放| 在线精品视频一区二区| 91在线视频免费观看| 国产suv精品一区二区6| 狠狠色丁香久久婷婷综| 老司机午夜精品| 日韩成人精品在线| 视频一区视频二区中文字幕| 亚洲电影一级黄| 亚洲成精国产精品女| 亚洲综合视频网| 亚洲一区欧美一区| 亚洲一区二区3| 一区二区三区成人| 亚洲韩国精品一区| 偷拍一区二区三区四区| 亚洲成av人影院| 亚洲va在线va天堂| 欧美aaa在线| 亚洲精品国产一区二区三区四区在线 | 精品一区二区国语对白| 国产一区在线视频| 成人国产一区二区三区精品| hitomi一区二区三区精品| 成人av网在线| 欧美中文一区二区三区| 欧美蜜桃一区二区三区| 欧美不卡一区二区三区四区| 欧美成人国产一区二区| 国产人妖乱国产精品人妖| 国产精品久久久久久久久免费桃花 | 成人av影视在线观看| 91蜜桃在线免费视频| 欧美日韩美女一区二区| 欧美大胆一级视频| 国产精品卡一卡二卡三| 亚洲一区二区视频| 激情小说欧美图片| 99久久国产综合精品色伊| 欧美性猛交xxxx黑人交| 欧美成人欧美edvon| 亚洲欧洲三级电影| 免费成人在线视频观看| 从欧美一区二区三区| 欧美色网站导航| 久久精品亚洲国产奇米99| 亚洲精品精品亚洲| 极品少妇一区二区| 欧美色综合网站| 国产欧美1区2区3区| 日韩av午夜在线观看| 成人午夜大片免费观看| 91精品国产一区二区人妖| 日韩伦理av电影| 美女看a上一区| 欧洲一区在线电影| 中文在线资源观看网站视频免费不卡 | 粉嫩av一区二区三区粉嫩| 欧美日韩久久一区| 1024成人网| 国产一区美女在线| 日韩三级伦理片妻子的秘密按摩|