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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? print-pptp.c

?? TCPDUMP的C語言源代碼,是在數(shù)據(jù)鏈路層的應(yīng)用
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (c) 1991, 1993, 1994, 1995, 1996, 1997 *      The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code distributions * retain the above copyright notice and this paragraph in its entirety, (2) * distributions including binary code include the above copyright notice and * this paragraph in its entirety in the documentation or other materials * provided with the distribution, and (3) all advertising materials mentioning * features or use of this software display the following acknowledgement: * ``This product includes software developed by the University of California, * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of * the University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific prior * written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * PPTP support contributed by Motonori Shindo (mshindo@mshindo.net) */#ifndef lintstatic const char rcsid[] _U_ =     "@(#) $Header: /tcpdump/master/tcpdump/print-pptp.c,v 1.12 2006-06-23 02:03:09 hannes Exp $";#endif#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <tcpdump-stdinc.h>#include <stdio.h>#include "interface.h"#include "extract.h"static char tstr[] = " [|pptp]";#define PPTP_MSG_TYPE_CTRL	1	/* Control Message */#define PPTP_MSG_TYPE_MGMT	2	/* Management Message (currently not used */#define PPTP_MAGIC_COOKIE	0x1a2b3c4d	/* for sanity check */#define PPTP_CTRL_MSG_TYPE_SCCRQ	1#define PPTP_CTRL_MSG_TYPE_SCCRP	2#define PPTP_CTRL_MSG_TYPE_StopCCRQ	3#define PPTP_CTRL_MSG_TYPE_StopCCRP	4#define PPTP_CTRL_MSG_TYPE_ECHORQ	5#define PPTP_CTRL_MSG_TYPE_ECHORP	6#define PPTP_CTRL_MSG_TYPE_OCRQ		7#define PPTP_CTRL_MSG_TYPE_OCRP		8#define PPTP_CTRL_MSG_TYPE_ICRQ		9#define PPTP_CTRL_MSG_TYPE_ICRP		10#define PPTP_CTRL_MSG_TYPE_ICCN		11#define PPTP_CTRL_MSG_TYPE_CCRQ		12#define PPTP_CTRL_MSG_TYPE_CDN		13#define PPTP_CTRL_MSG_TYPE_WEN		14#define PPTP_CTRL_MSG_TYPE_SLI		15#define PPTP_FRAMING_CAP_ASYNC_MASK	0x00000001      /* Aynchronous */#define PPTP_FRAMING_CAP_SYNC_MASK	0x00000002      /* Synchronous */#define PPTP_BEARER_CAP_ANALOG_MASK	0x00000001      /* Analog */#define PPTP_BEARER_CAP_DIGITAL_MASK	0x00000002      /* Digital */static const char *pptp_message_type_string[] = {	"NOT_DEFINED",		/* 0  Not defined in the RFC2637 */	"SCCRQ",		/* 1  Start-Control-Connection-Request */	"SCCRP",		/* 2  Start-Control-Connection-Reply */	"StopCCRQ",		/* 3  Stop-Control-Connection-Request */	"StopCCRP",		/* 4  Stop-Control-Connection-Reply */	"ECHORQ",		/* 5  Echo Request */	"ECHORP",		/* 6  Echo Reply */	"OCRQ",			/* 7  Outgoing-Call-Request */	"OCRP",			/* 8  Outgoing-Call-Reply */	"ICRQ",			/* 9  Incoming-Call-Request */	"ICRP",			/* 10 Incoming-Call-Reply */	"ICCN",			/* 11 Incoming-Call-Connected */	"CCRQ",			/* 12 Call-Clear-Request */	"CDN",			/* 13 Call-Disconnect-Notify */	"WEN",			/* 14 WAN-Error-Notify */	"SLI"			/* 15 Set-Link-Info */#define PPTP_MAX_MSGTYPE_INDEX	16};/* common for all PPTP control messages */struct pptp_hdr {	u_int16_t length;	u_int16_t msg_type;	u_int32_t magic_cookie;	u_int16_t ctrl_msg_type;	u_int16_t reserved0;};struct pptp_msg_sccrq {	u_int16_t proto_ver;	u_int16_t reserved1;	u_int32_t framing_cap;	u_int32_t bearer_cap;	u_int16_t max_channel;	u_int16_t firm_rev;	u_char hostname[64];	u_char vendor[64];};struct pptp_msg_sccrp {	u_int16_t proto_ver;	u_int8_t result_code;	u_int8_t err_code;	u_int32_t framing_cap;	u_int32_t bearer_cap;	u_int16_t max_channel;	u_int16_t firm_rev;	u_char hostname[64];	u_char vendor[64];};struct pptp_msg_stopccrq {	u_int8_t reason;	u_int8_t reserved1;	u_int16_t reserved2;};struct pptp_msg_stopccrp {	u_int8_t result_code;	u_int8_t err_code;	u_int16_t reserved1;};struct pptp_msg_echorq {	u_int32_t id;};struct pptp_msg_echorp {	u_int32_t id;	u_int8_t result_code;	u_int8_t err_code;	u_int16_t reserved1;};struct pptp_msg_ocrq {	u_int16_t call_id;	u_int16_t call_ser;	u_int32_t min_bps;	u_int32_t max_bps;	u_int32_t bearer_type;	u_int32_t framing_type;	u_int16_t recv_winsiz;	u_int16_t pkt_proc_delay;	u_int16_t phone_no_len;	u_int16_t reserved1;	u_char phone_no[64];	u_char subaddr[64];};struct pptp_msg_ocrp {	u_int16_t call_id;	u_int16_t peer_call_id;	u_int8_t result_code;	u_int8_t err_code;	u_int16_t cause_code;	u_int32_t conn_speed;	u_int16_t recv_winsiz;	u_int16_t pkt_proc_delay;	u_int32_t phy_chan_id;};struct pptp_msg_icrq {	u_int16_t call_id;	u_int16_t call_ser;	u_int32_t bearer_type;	u_int32_t phy_chan_id;	u_int16_t dialed_no_len;	u_int16_t dialing_no_len;	u_char dialed_no[64];		/* DNIS */	u_char dialing_no[64];		/* CLID */	u_char subaddr[64];};struct pptp_msg_icrp {	u_int16_t call_id;	u_int16_t peer_call_id;	u_int8_t result_code;	u_int8_t err_code;	u_int16_t recv_winsiz;	u_int16_t pkt_proc_delay;	u_int16_t reserved1;};struct pptp_msg_iccn {	u_int16_t peer_call_id;	u_int16_t reserved1;	u_int32_t conn_speed;	u_int16_t recv_winsiz;	u_int16_t pkt_proc_delay;	u_int32_t framing_type;};struct pptp_msg_ccrq {	u_int16_t call_id;	u_int16_t reserved1;};struct pptp_msg_cdn {	u_int16_t call_id;	u_int8_t result_code;	u_int8_t err_code;	u_int16_t cause_code;	u_int16_t reserved1;	u_char call_stats[128];};struct pptp_msg_wen {	u_int16_t peer_call_id;	u_int16_t reserved1;	u_int32_t crc_err;	u_int32_t framing_err;	u_int32_t hardware_overrun;	u_int32_t buffer_overrun;	u_int32_t timeout_err;	u_int32_t align_err;};struct pptp_msg_sli {	u_int16_t peer_call_id;	u_int16_t reserved1;	u_int32_t send_accm;	u_int32_t recv_accm;};/* attributes that appear more than once in above messages:   Number of   occurence    attributes  --------------------------------------      2         u_int32_t bearer_cap;      2         u_int32_t bearer_type;      6         u_int16_t call_id;      2         u_int16_t call_ser;      2         u_int16_t cause_code;      2         u_int32_t conn_speed;      6         u_int8_t err_code;      2         u_int16_t firm_rev;      2         u_int32_t framing_cap;      2         u_int32_t framing_type;      2         u_char hostname[64];      2         u_int32_t id;      2         u_int16_t max_channel;      5         u_int16_t peer_call_id;      2         u_int32_t phy_chan_id;      4         u_int16_t pkt_proc_delay;      2         u_int16_t proto_ver;      4         u_int16_t recv_winsiz;      2         u_int8_t reserved1;      9         u_int16_t reserved1;      6         u_int8_t result_code;      2         u_char subaddr[64];      2         u_char vendor[64];  so I will prepare print out functions for these attributes (except for  reserved*).*//******************************************//* Attribute-specific print out functions *//******************************************//* In these attribute-specific print-out functions, it't not necessary   to do TCHECK because they are already checked in the caller of   these functions. */static voidpptp_bearer_cap_print(const u_int32_t *bearer_cap){	printf(" BEARER_CAP(");	if (EXTRACT_32BITS(bearer_cap) & PPTP_BEARER_CAP_DIGITAL_MASK) {                printf("D");        }        if (EXTRACT_32BITS(bearer_cap) & PPTP_BEARER_CAP_ANALOG_MASK) {                printf("A");        }	printf(")");}static voidpptp_bearer_type_print(const u_int32_t *bearer_type){	printf(" BEARER_TYPE(");	switch (EXTRACT_32BITS(bearer_type)) {	case 1:		printf("A");	/* Analog */		break;	case 2:		printf("D");	/* Digital */		break;	case 3:		printf("Any");		break;	default:		printf("?");		break;        }	printf(")");}static voidpptp_call_id_print(const u_int16_t *call_id){	printf(" CALL_ID(%u)", EXTRACT_16BITS(call_id));}static voidpptp_call_ser_print(const u_int16_t *call_ser){	printf(" CALL_SER_NUM(%u)", EXTRACT_16BITS(call_ser));}static voidpptp_cause_code_print(const u_int16_t *cause_code){	printf(" CAUSE_CODE(%u)", EXTRACT_16BITS(cause_code));}static voidpptp_conn_speed_print(const u_int32_t *conn_speed){	printf(" CONN_SPEED(%u)", EXTRACT_32BITS(conn_speed));}static voidpptp_err_code_print(const u_int8_t *err_code){	printf(" ERR_CODE(%u", *err_code);	if (vflag) {		switch (*err_code) {		case 0:			printf(":None");			break;		case 1:			printf(":Not-Connected");			break;		case 2:			printf(":Bad-Format");			break;		case 3:			printf(":Bad-Valude");			break;		case 4:			printf(":No-Resource");			break;		case 5:			printf(":Bad-Call-ID");			break;		case 6:			printf(":PAC-Error");			break;		default:			printf(":?");			break;		}	}	printf(")");}static voidpptp_firm_rev_print(const u_int16_t *firm_rev){	printf(" FIRM_REV(%u)", EXTRACT_16BITS(firm_rev));}static voidpptp_framing_cap_print(const u_int32_t *framing_cap){	printf(" FRAME_CAP(");	if (EXTRACT_32BITS(framing_cap) & PPTP_FRAMING_CAP_ASYNC_MASK) {                printf("A");		/* Async */        }        if (EXTRACT_32BITS(framing_cap) & PPTP_FRAMING_CAP_SYNC_MASK) {                printf("S");		/* Sync */        }	printf(")");}static voidpptp_framing_type_print(const u_int32_t *framing_type){	printf(" FRAME_TYPE(");	switch (EXTRACT_32BITS(framing_type)) {	case 1:		printf("A");		/* Async */		break;	case 2:		printf("S");		/* Sync */		break;	case 3:		printf("E");		/* Either */		break;	default:		printf("?");		break;	}	printf(")");}static voidpptp_hostname_print(const u_char *hostname){	printf(" HOSTNAME(%.64s)", hostname);}static voidpptp_id_print(const u_int32_t *id){	printf(" ID(%u)", EXTRACT_32BITS(id));}static voidpptp_max_channel_print(const u_int16_t *max_channel){	printf(" MAX_CHAN(%u)", EXTRACT_16BITS(max_channel));}static voidpptp_peer_call_id_print(const u_int16_t *peer_call_id){	printf(" PEER_CALL_ID(%u)", EXTRACT_16BITS(peer_call_id));}static voidpptp_phy_chan_id_print(const u_int32_t *phy_chan_id){	printf(" PHY_CHAN_ID(%u)", EXTRACT_32BITS(phy_chan_id));}static voidpptp_pkt_proc_delay_print(const u_int16_t *pkt_proc_delay){	printf(" PROC_DELAY(%u)", EXTRACT_16BITS(pkt_proc_delay));}static voidpptp_proto_ver_print(const u_int16_t *proto_ver){	printf(" PROTO_VER(%u.%u)",	/* Version.Revision */	       EXTRACT_16BITS(proto_ver) >> 8,	       EXTRACT_16BITS(proto_ver) & 0xff);}static voidpptp_recv_winsiz_print(const u_int16_t *recv_winsiz){	printf(" RECV_WIN(%u)", EXTRACT_16BITS(recv_winsiz));}static voidpptp_result_code_print(const u_int8_t *result_code, int ctrl_msg_type){	printf(" RESULT_CODE(%u", *result_code);	if (vflag) {		switch (ctrl_msg_type) {		case PPTP_CTRL_MSG_TYPE_SCCRP:			switch (*result_code) {			case 1:				printf(":Successful channel establishment");				break;			case 2:				printf(":General error");				break;			case 3:				printf(":Command channel already exists");				break;			case 4:				printf(":Requester is not authorized to establish a command channel");				break;			case 5:				printf(":The protocol version of the requester is not supported");				break;			default:				printf(":?");				break;			}			break;		case PPTP_CTRL_MSG_TYPE_StopCCRP:		case PPTP_CTRL_MSG_TYPE_ECHORP:			switch (*result_code) {			case 1:				printf(":OK");				break;			case 2:				printf(":General Error");				break;			default:				printf(":?");				break;			}			break;		case PPTP_CTRL_MSG_TYPE_OCRP:			switch (*result_code) {			case 1:				printf(":Connected");				break;			case 2:				printf(":General Error");				break;			case 3:				printf(":No Carrier");				break;			case 4:				printf(":Busy");				break;			case 5:				printf(":No Dial Tone");				break;			case 6:				printf(":Time-out");				break;			case 7:				printf(":Do Not Accept");				break;			default:				printf(":?");				break;			}			break;		case PPTP_CTRL_MSG_TYPE_ICRP:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合网天天看片| 欧美丝袜丝交足nylons图片| 久久这里只精品最新地址| 午夜精品123| 欧美三级三级三级| 亚洲va韩国va欧美va| 制服视频三区第一页精品| 日韩不卡在线观看日韩不卡视频| 欧美一级片在线| 精品系列免费在线观看| 国产亚洲综合在线| 色中色一区二区| 日本va欧美va精品| 中文一区二区在线观看| 91日韩精品一区| 日本vs亚洲vs韩国一区三区二区| 2023国产精品| 色综合中文综合网| 5月丁香婷婷综合| 久久se精品一区二区| 国产欧美精品国产国产专区| 91久久精品一区二区三| 麻豆精品国产传媒mv男同 | 国产三级精品三级| 91蝌蚪porny九色| 日韩高清一级片| 欧美高清在线一区二区| 欧美日韩精品一区视频| 激情图片小说一区| 亚洲一区二区三区四区中文字幕| 精品盗摄一区二区三区| 色狠狠综合天天综合综合| 蜜臀av性久久久久av蜜臀妖精| 欧美国产成人在线| 91精品国产高清一区二区三区| 成人深夜在线观看| 麻豆国产精品777777在线| 中文字幕在线播放不卡一区| 日韩欧美国产电影| 欧美伊人久久大香线蕉综合69| 国产在线视频精品一区| 亚洲国产精品麻豆| 亚洲国产精品黑人久久久| 欧美一区二区成人6969| 91免费国产视频网站| 国产一区二区成人久久免费影院| 午夜精品福利一区二区蜜股av| 国产精品久久久久久妇女6080| 日韩精品自拍偷拍| 欧美日韩在线亚洲一区蜜芽| 成人高清视频在线观看| 久久爱www久久做| 日韩精品电影在线| 亚洲中国最大av网站| 国产精品久久久久7777按摩| 怡红院av一区二区三区| 久久久精品免费观看| 欧美一级欧美三级| 欧美探花视频资源| 91看片淫黄大片一级在线观看| 国产精品亚洲一区二区三区在线 | 亚洲国产综合在线| 亚洲欧美怡红院| 中文字幕av在线一区二区三区| 精品精品欲导航| 91精品国产品国语在线不卡| 欧美日韩激情在线| 欧洲精品一区二区| 色综合久久中文字幕| av在线不卡免费看| aaa欧美日韩| 99精品欧美一区二区蜜桃免费| 高清不卡一区二区在线| 国产福利91精品一区| 狠狠色狠狠色综合系列| 国模娜娜一区二区三区| 久久aⅴ国产欧美74aaa| 国产一区二区三区日韩| 国产又粗又猛又爽又黄91精品| 久久超碰97中文字幕| 狠狠色伊人亚洲综合成人| 国产真实精品久久二三区| 久久草av在线| 丁香一区二区三区| 99麻豆久久久国产精品免费优播| jvid福利写真一区二区三区| 9l国产精品久久久久麻豆| 91无套直看片红桃| 欧美日韩你懂得| 日韩一区二区免费电影| 久久亚洲综合色一区二区三区| 久久女同性恋中文字幕| 国产精品网站在线观看| 亚洲男人的天堂网| 午夜视频在线观看一区二区三区| 日韩不卡一区二区| 国产麻豆精品theporn| va亚洲va日韩不卡在线观看| 91国产丝袜在线播放| 欧美精品一卡两卡| 久久久久久麻豆| 亚洲欧美日韩国产一区二区三区| 亚洲h动漫在线| 激情国产一区二区| 成人精品一区二区三区中文字幕| 91极品视觉盛宴| 精品国产污污免费网站入口| 国产精品精品国产色婷婷| 午夜天堂影视香蕉久久| 国产精品一二一区| 色中色一区二区| 欧美不卡激情三级在线观看| 日本一区二区久久| 首页欧美精品中文字幕| 国产精品1区2区3区| 91国偷自产一区二区开放时间 | 97精品国产露脸对白| 3atv在线一区二区三区| 国产精品少妇自拍| 午夜视频一区二区三区| 国产电影一区在线| 欧美日韩中文字幕精品| 国产欧美一区二区精品秋霞影院| 亚洲成精国产精品女| 韩国成人在线视频| 国产欧美久久久精品影院| 日韩成人午夜精品| 99精品视频一区二区三区| 日韩欧美国产一二三区| 一区二区三区免费网站| 国产 日韩 欧美大片| 91精品国产色综合久久不卡蜜臀| 中文字幕一区二区三区四区不卡 | 国产精品每日更新在线播放网址| 亚洲国产一区视频| 不卡的av网站| 久久久久久99久久久精品网站| 午夜一区二区三区在线观看| 国产**成人网毛片九色| 日韩精品一区二区三区中文不卡| 一区二区三区在线免费观看| 国产一区二区在线视频| 9191精品国产综合久久久久久| 亚洲欧洲成人精品av97| 国产精品77777| 日韩三级视频中文字幕| 婷婷国产在线综合| 91搞黄在线观看| 亚洲精品中文在线观看| 不卡在线视频中文字幕| 国产精品色噜噜| 国产精品一区二区果冻传媒| 精品毛片乱码1区2区3区| 亚洲成人免费观看| 欧美午夜不卡视频| 一区二区在线观看视频| 99久久伊人精品| 国产精品每日更新在线播放网址 | 亚洲精品在线观看网站| 日产国产欧美视频一区精品| 欧美精品在线观看播放| 亚洲成人免费在线| 欧美日韩一本到| 亚洲国产精品一区二区尤物区| 91偷拍与自偷拍精品| 亚洲欧美日韩国产成人精品影院| 9色porny自拍视频一区二区| √…a在线天堂一区| 99久久综合国产精品| 国产精品不卡视频| 91免费精品国自产拍在线不卡| 亚洲三级电影全部在线观看高清| 99久久精品免费看国产| 亚洲色图19p| 欧美午夜精品一区二区蜜桃| 午夜精品久久久久久久蜜桃app| 欧美三级中文字幕| 美日韩一级片在线观看| 精品国产一区二区三区av性色| 国产一区二区在线看| 日本一区二区视频在线| 91在线观看地址| 午夜影院在线观看欧美| 精品免费视频一区二区| 国产成人av福利| 日韩理论片在线| 在线播放日韩导航| 激情综合网av| 国产精品国产精品国产专区不蜜| 91福利社在线观看| 蜜臀av在线播放一区二区三区| 久久尤物电影视频在线观看| 成人高清在线视频| 亚洲成人你懂的| 欧美精品一区二| 91久久人澡人人添人人爽欧美| 免费日本视频一区| 中文字幕成人在线观看| 欧美性受xxxx| 国产麻豆午夜三级精品|