亚洲欧美第一页_禁久久精品乱码_粉嫩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 18:20:42 dgal Exp $	*/

#ifndef EMS_ENCODING_H
#define EMS_ENCODING_H

#ifdef __cplusplus
extern "C" {
#endif

/*
 * 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);

#ifdef __cplusplus
}
#endif

#endif /* EMS_ENCODING_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院老司| 国产麻豆一精品一av一免费| 亚洲天堂a在线| 日本一区二区三区在线观看| 精品国产在天天线2019| 日韩精品一区二区三区蜜臀| 91精品婷婷国产综合久久性色| 欧美天堂一区二区三区| 91麻豆自制传媒国产之光| www.亚洲在线| 色综合天天性综合| 欧美在线观看一二区| 色天天综合色天天久久| 欧美午夜精品久久久| 精品视频1区2区3区| 欧美视频一区二| 欧美日本一道本在线视频| 欧美一区二区三区免费在线看 | 色综合久久综合网欧美综合网| 高清国产午夜精品久久久久久| 国产99久久久国产精品| 成人国产精品免费观看动漫| av在线不卡免费看| 欧美三电影在线| 欧美一区二区在线免费播放 | 亚洲bt欧美bt精品| 午夜激情一区二区三区| 久久成人免费电影| 国产91对白在线观看九色| www.av精品| 欧美日韩国产综合视频在线观看| 欧美一区二区三区免费| 欧美激情中文字幕一区二区| 亚洲色图另类专区| 亚洲chinese男男1069| 精品午夜一区二区三区在线观看| 国产成人自拍网| 在线亚洲一区二区| 欧美精品九九99久久| 欧美精品一区二区久久婷婷| 欧美激情一区二区三区在线| 亚洲激情校园春色| 麻豆91精品视频| 暴力调教一区二区三区| 欧美日韩国产免费一区二区| 精品国产电影一区二区| 综合色中文字幕| 日韩国产精品久久久| 成人理论电影网| 在线电影国产精品| 国产精品每日更新在线播放网址| 午夜精彩视频在线观看不卡| 国产成人av一区| 制服丝袜成人动漫| 国产精品久久网站| 日韩不卡在线观看日韩不卡视频| 国产成人在线看| 欧美一区二区三区成人| 国产精品进线69影院| 青青草伊人久久| 91一区二区在线| 亚洲综合久久久| 国内精品自线一区二区三区视频| 99视频在线精品| 日韩色视频在线观看| 一区二区三区精品| 粉嫩av一区二区三区在线播放| 欧美日韩精品福利| 最新国产精品久久精品| 韩国v欧美v日本v亚洲v| 欧美日韩成人综合天天影院| 国产精品人妖ts系列视频| 蜜臀a∨国产成人精品| 在线视频综合导航| 中文字幕一区二区三区精华液 | 天堂在线亚洲视频| 色婷婷激情一区二区三区| 国产欧美视频一区二区三区| 日韩国产欧美视频| 欧美日韩国产在线观看| 亚洲日韩欧美一区二区在线| 国产美女久久久久| 精品剧情在线观看| 日欧美一区二区| 在线亚洲免费视频| 亚洲另类一区二区| 99国产精品国产精品毛片| 国产欧美在线观看一区| 久久精品国产99国产| 欧美日韩国产片| 亚洲一二三四久久| 一本一道波多野结衣一区二区| 国产精品入口麻豆九色| 国产suv精品一区二区三区| 久久色.com| 国产一区二区美女| 久久综合久久久久88| 麻豆精品新av中文字幕| 欧美一级高清片在线观看| 日韩精品一区第一页| 欧美在线观看一区| 亚洲风情在线资源站| 91精彩视频在线观看| 亚洲色图视频网| 色综合久久久久久久久| 1024成人网| 91免费看`日韩一区二区| 亚洲女爱视频在线| 欧美中文字幕亚洲一区二区va在线| 亚洲欧洲三级电影| 欧美性大战久久久久久久| 一区二区三区日韩精品| 欧美三级在线播放| 午夜精品一区二区三区免费视频| 欧美男男青年gay1069videost| 天堂精品中文字幕在线| 日韩欧美国产1| 国产精选一区二区三区| 国产精品美女久久久久久久久| 成人综合婷婷国产精品久久免费| 国产欧美久久久精品影院| 不卡的av电影在线观看| 一区二区成人在线| 欧美理论电影在线| 久久精品国产999大香线蕉| 国产亚洲欧美日韩在线一区| 东方欧美亚洲色图在线| 亚洲激情五月婷婷| 欧美一区二区三区在线观看| 麻豆91小视频| 国产精品麻豆久久久| 色悠久久久久综合欧美99| 亚洲一二三区在线观看| 精品乱人伦小说| 波多野结衣在线一区| 亚洲在线免费播放| 日韩欧美亚洲一区二区| 国产91富婆露脸刺激对白| 亚洲资源中文字幕| 精品国产伦一区二区三区观看方式| 国产激情一区二区三区| 有码一区二区三区| 欧美va日韩va| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲香肠在线观看| 久久久久国产精品人| 日本韩国欧美在线| 国产一本一道久久香蕉| 一区二区三区国产| 久久久久久久久久美女| 在线影视一区二区三区| 国产在线精品一区二区不卡了| 亚洲欧美日本在线| 久久久三级国产网站| 欧美亚洲综合一区| 国产成人亚洲综合色影视| 亚洲成人午夜电影| 亚洲欧洲国产日韩| 欧美精品一区二区三区视频| 色哟哟日韩精品| 国产在线播放一区| 亚洲高清免费观看 | 亚洲国产精品综合小说图片区| 欧美成人官网二区| 色婷婷综合激情| 国产精品原创巨作av| 无码av免费一区二区三区试看| 国产日韩欧美麻豆| 91精品国产91综合久久蜜臀| av动漫一区二区| 国产精品综合二区| 日本人妖一区二区| 亚洲线精品一区二区三区| 国产精品区一区二区三| 精品久久久久一区| 欧美日韩在线播| 91视频免费播放| 高清成人在线观看| 黄一区二区三区| 免费成人深夜小野草| 亚洲一区二区三区四区不卡| 欧美国产精品劲爆| 久久久久久麻豆| 精品99一区二区三区| 91精品中文字幕一区二区三区| 色综合久久66| 99久久精品99国产精品| 国产成人高清在线| 国产精品99久久不卡二区| 蜜桃久久av一区| 免费成人美女在线观看.| 午夜电影一区二区| 亚洲影院理伦片| 夜夜精品浪潮av一区二区三区 | 不卡一区在线观看| 国产精品66部| 国产精品996| 国产美女在线观看一区| 精品系列免费在线观看| 狠狠色2019综合网|