12949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 22949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Copyright (c) 1991, 1993, 1994, 1995, 1996, 1997 32949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * The Regents of the University of California. All rights reserved. 42949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 52949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Redistribution and use in source and binary forms, with or without 62949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * modification, are permitted provided that: (1) source code distributions 72949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * retain the above copyright notice and this paragraph in its entirety, (2) 82949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * distributions including binary code include the above copyright notice and 92949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * this paragraph in its entirety in the documentation or other materials 102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * provided with the distribution, and (3) all advertising materials mentioning 112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * features or use of this software display the following acknowledgement: 122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * ``This product includes software developed by the University of California, 132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the University nor the names of its contributors may be used to endorse 152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * or promote products derived from this software without specific prior 162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * written permission. 172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * PPTP support contributed by Motonori Shindo (mshindo@mshindo.net) 222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef lint 262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic const char rcsid[] _U_ = 2753f17a9db278d33517d9888dd77848f554522a38JP Abgrall "@(#) $Header: /tcpdump/master/tcpdump/print-pptp.c,v 1.12 2006-06-23 02:03:09 hannes Exp $"; 282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif 292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef HAVE_CONFIG_H 312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "config.h" 322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif 332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include <tcpdump-stdinc.h> 352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include <stdio.h> 372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "interface.h" 392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "extract.h" 402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic char tstr[] = " [|pptp]"; 422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_MSG_TYPE_CTRL 1 /* Control Message */ 442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_MSG_TYPE_MGMT 2 /* Management Message (currently not used */ 452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_MAGIC_COOKIE 0x1a2b3c4d /* for sanity check */ 462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_SCCRQ 1 482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_SCCRP 2 492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_StopCCRQ 3 502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_StopCCRP 4 512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_ECHORQ 5 522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_ECHORP 6 532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_OCRQ 7 542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_OCRP 8 552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_ICRQ 9 562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_ICRP 10 572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_ICCN 11 582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_CCRQ 12 592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_CDN 13 602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_WEN 14 612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_CTRL_MSG_TYPE_SLI 15 622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_FRAMING_CAP_ASYNC_MASK 0x00000001 /* Aynchronous */ 642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_FRAMING_CAP_SYNC_MASK 0x00000002 /* Synchronous */ 652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_BEARER_CAP_ANALOG_MASK 0x00000001 /* Analog */ 672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_BEARER_CAP_DIGITAL_MASK 0x00000002 /* Digital */ 682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic const char *pptp_message_type_string[] = { 702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "NOT_DEFINED", /* 0 Not defined in the RFC2637 */ 712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "SCCRQ", /* 1 Start-Control-Connection-Request */ 722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "SCCRP", /* 2 Start-Control-Connection-Reply */ 732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "StopCCRQ", /* 3 Stop-Control-Connection-Request */ 742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "StopCCRP", /* 4 Stop-Control-Connection-Reply */ 752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "ECHORQ", /* 5 Echo Request */ 762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "ECHORP", /* 6 Echo Reply */ 772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "OCRQ", /* 7 Outgoing-Call-Request */ 792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "OCRP", /* 8 Outgoing-Call-Reply */ 802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "ICRQ", /* 9 Incoming-Call-Request */ 812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "ICRP", /* 10 Incoming-Call-Reply */ 822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "ICCN", /* 11 Incoming-Call-Connected */ 832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "CCRQ", /* 12 Call-Clear-Request */ 842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "CDN", /* 13 Call-Disconnect-Notify */ 852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "WEN", /* 14 WAN-Error-Notify */ 872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project "SLI" /* 15 Set-Link-Info */ 892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PPTP_MAX_MSGTYPE_INDEX 16 902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* common for all PPTP control messages */ 932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_hdr { 942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t length; 952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t msg_type; 962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t magic_cookie; 972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t ctrl_msg_type; 982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved0; 992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_sccrq { 1022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t proto_ver; 1032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 1042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t framing_cap; 1052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t bearer_cap; 1062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t max_channel; 1072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t firm_rev; 1082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char hostname[64]; 1092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char vendor[64]; 1102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_sccrp { 1132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t proto_ver; 1142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t result_code; 1152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t err_code; 1162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t framing_cap; 1172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t bearer_cap; 1182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t max_channel; 1192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t firm_rev; 1202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char hostname[64]; 1212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char vendor[64]; 1222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_stopccrq { 1252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t reason; 1262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t reserved1; 1272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved2; 1282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_stopccrp { 1312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t result_code; 1322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t err_code; 1332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 1342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_echorq { 1372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t id; 1382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_echorp { 1412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t id; 1422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t result_code; 1432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t err_code; 1442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 1452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_ocrq { 1482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_id; 1492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_ser; 1502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t min_bps; 1512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t max_bps; 1522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t bearer_type; 1532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t framing_type; 1542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t recv_winsiz; 1552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t pkt_proc_delay; 1562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t phone_no_len; 1572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 1582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char phone_no[64]; 1592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char subaddr[64]; 1602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_ocrp { 1632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_id; 1642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t peer_call_id; 1652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t result_code; 1662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t err_code; 1672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t cause_code; 1682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t conn_speed; 1692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t recv_winsiz; 1702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t pkt_proc_delay; 1712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t phy_chan_id; 1722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_icrq { 1752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_id; 1762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_ser; 1772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t bearer_type; 1782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t phy_chan_id; 1792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t dialed_no_len; 1802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t dialing_no_len; 1812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char dialed_no[64]; /* DNIS */ 1822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char dialing_no[64]; /* CLID */ 1832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char subaddr[64]; 1842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_icrp { 1872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_id; 1882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t peer_call_id; 1892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t result_code; 1902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t err_code; 1912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t recv_winsiz; 1922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t pkt_proc_delay; 1932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 1942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 1952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 1962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_iccn { 1972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t peer_call_id; 1982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 1992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t conn_speed; 2002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t recv_winsiz; 2012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t pkt_proc_delay; 2022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t framing_type; 2032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 2042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_ccrq { 2062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_id; 2072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 2082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 2092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_cdn { 2112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t call_id; 2122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t result_code; 2132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int8_t err_code; 2142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t cause_code; 2152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 2162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_char call_stats[128]; 2172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 2182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_wen { 2202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t peer_call_id; 2212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 2222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t crc_err; 2232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t framing_err; 2242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t hardware_overrun; 2252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t buffer_overrun; 2262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t timeout_err; 2272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t align_err; 2282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 2292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct pptp_msg_sli { 2312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t peer_call_id; 2322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t reserved1; 2332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t send_accm; 2342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t recv_accm; 2352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project}; 2362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* attributes that appear more than once in above messages: 2382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project Number of 2402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project occurence attributes 2412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project -------------------------------------- 2422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t bearer_cap; 2432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t bearer_type; 2442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6 u_int16_t call_id; 2452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int16_t call_ser; 2462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int16_t cause_code; 2472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t conn_speed; 2482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6 u_int8_t err_code; 2492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int16_t firm_rev; 2502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t framing_cap; 2512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t framing_type; 2522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_char hostname[64]; 2532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t id; 2542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int16_t max_channel; 2552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 5 u_int16_t peer_call_id; 2562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int32_t phy_chan_id; 2572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4 u_int16_t pkt_proc_delay; 2582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int16_t proto_ver; 2592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4 u_int16_t recv_winsiz; 2602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_int8_t reserved1; 2612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9 u_int16_t reserved1; 2622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6 u_int8_t result_code; 2632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_char subaddr[64]; 2642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2 u_char vendor[64]; 2652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project so I will prepare print out functions for these attributes (except for 2672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project reserved*). 2682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project*/ 2692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/******************************************/ 2712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* Attribute-specific print out functions */ 2722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/******************************************/ 2732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* In these attribute-specific print-out functions, it't not necessary 2752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project to do TCHECK because they are already checked in the caller of 2762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project these functions. */ 2772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 2792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_bearer_cap_print(const u_int32_t *bearer_cap) 2802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 2812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" BEARER_CAP("); 2822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (EXTRACT_32BITS(bearer_cap) & PPTP_BEARER_CAP_DIGITAL_MASK) { 2832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("D"); 2842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 2852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (EXTRACT_32BITS(bearer_cap) & PPTP_BEARER_CAP_ANALOG_MASK) { 2862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("A"); 2872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 2882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 2892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 2902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 2912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 2922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_bearer_type_print(const u_int32_t *bearer_type) 2932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 2942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" BEARER_TYPE("); 2952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (EXTRACT_32BITS(bearer_type)) { 2962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 2972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("A"); /* Analog */ 2982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 2992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 3002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("D"); /* Digital */ 3012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 3032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("Any"); 3042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 3062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("?"); 3072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 3092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 3102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_call_id_print(const u_int16_t *call_id) 3142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CALL_ID(%u)", EXTRACT_16BITS(call_id)); 3162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_call_ser_print(const u_int16_t *call_ser) 3202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CALL_SER_NUM(%u)", EXTRACT_16BITS(call_ser)); 3222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_cause_code_print(const u_int16_t *cause_code) 3262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CAUSE_CODE(%u)", EXTRACT_16BITS(cause_code)); 3282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_conn_speed_print(const u_int32_t *conn_speed) 3322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CONN_SPEED(%u)", EXTRACT_32BITS(conn_speed)); 3342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_err_code_print(const u_int8_t *err_code) 3382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" ERR_CODE(%u", *err_code); 3402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (vflag) { 3412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (*err_code) { 3422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 0: 3432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":None"); 3442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 3462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Not-Connected"); 3472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 3492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Bad-Format"); 3502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 3522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Bad-Valude"); 3532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 4: 3552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":No-Resource"); 3562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 5: 3582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Bad-Call-ID"); 3592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 6: 3612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":PAC-Error"); 3622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 3642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 3652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 3672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 3682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 3692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_firm_rev_print(const u_int16_t *firm_rev) 3732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" FIRM_REV(%u)", EXTRACT_16BITS(firm_rev)); 3752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_framing_cap_print(const u_int32_t *framing_cap) 3792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" FRAME_CAP("); 3812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (EXTRACT_32BITS(framing_cap) & PPTP_FRAMING_CAP_ASYNC_MASK) { 3822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("A"); /* Async */ 3832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 3842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (EXTRACT_32BITS(framing_cap) & PPTP_FRAMING_CAP_SYNC_MASK) { 3852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("S"); /* Sync */ 3862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 3872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 3882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 3892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 3912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_framing_type_print(const u_int32_t *framing_type) 3922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 3932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" FRAME_TYPE("); 3942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (EXTRACT_32BITS(framing_type)) { 3952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 3962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("A"); /* Async */ 3972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 3982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 3992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("S"); /* Sync */ 4002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 4022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("E"); /* Either */ 4032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 4052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("?"); 4062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 4082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 4092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_hostname_print(const u_char *hostname) 4132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" HOSTNAME(%.64s)", hostname); 4152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_id_print(const u_int32_t *id) 4192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" ID(%u)", EXTRACT_32BITS(id)); 4212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_max_channel_print(const u_int16_t *max_channel) 4252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" MAX_CHAN(%u)", EXTRACT_16BITS(max_channel)); 4272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_peer_call_id_print(const u_int16_t *peer_call_id) 4312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" PEER_CALL_ID(%u)", EXTRACT_16BITS(peer_call_id)); 4332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_phy_chan_id_print(const u_int32_t *phy_chan_id) 4372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" PHY_CHAN_ID(%u)", EXTRACT_32BITS(phy_chan_id)); 4392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_pkt_proc_delay_print(const u_int16_t *pkt_proc_delay) 4432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" PROC_DELAY(%u)", EXTRACT_16BITS(pkt_proc_delay)); 4452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_proto_ver_print(const u_int16_t *proto_ver) 4492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" PROTO_VER(%u.%u)", /* Version.Revision */ 4512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project EXTRACT_16BITS(proto_ver) >> 8, 4522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project EXTRACT_16BITS(proto_ver) & 0xff); 4532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_recv_winsiz_print(const u_int16_t *recv_winsiz) 4572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" RECV_WIN(%u)", EXTRACT_16BITS(recv_winsiz)); 4592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 4602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 4612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 4622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_result_code_print(const u_int8_t *result_code, int ctrl_msg_type) 4632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 4642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" RESULT_CODE(%u", *result_code); 4652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (vflag) { 4662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (ctrl_msg_type) { 4672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_SCCRP: 4682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (*result_code) { 4692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 4702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Successful channel establishment"); 4712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 4732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":General error"); 4742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 4762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Command channel already exists"); 4772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 4: 4792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Requester is not authorized to establish a command channel"); 4802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 5: 4822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":The protocol version of the requester is not supported"); 4832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 4852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 4862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 4882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_StopCCRP: 4902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ECHORP: 4912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (*result_code) { 4922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 4932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":OK"); 4942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 4962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":General Error"); 4972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 4982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 4992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 5002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 5022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_OCRP: 5042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (*result_code) { 5052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 5062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Connected"); 5072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 5092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":General Error"); 5102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 5122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":No Carrier"); 5132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 4: 5152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Busy"); 5162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 5: 5182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":No Dial Tone"); 5192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 6: 5212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Time-out"); 5222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 7: 5242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Do Not Accept"); 5252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 5272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 5282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 5302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ICRP: 5322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (*result_code) { 5332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 5342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Connect"); 5352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 5372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":General Error"); 5382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 5402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Do Not Accept"); 5412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 5432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 5442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 5462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_CDN: 5482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (*result_code) { 5492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 5502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Lost Carrier"); 5512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 5532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":General Error"); 5542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 5562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Admin Shutdown"); 5572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 4: 5592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Request"); 5602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 5612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 5622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 5652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 5662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project /* assertion error */ 5672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 5682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 5692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 5702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 5712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 5722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 5732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 5742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_subaddr_print(const u_char *subaddr) 5752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 5762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" SUB_ADDR(%.64s)", subaddr); 5772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 5782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 5792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 5802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_vendor_print(const u_char *vendor) 5812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 5822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" VENDOR(%.64s)", vendor); 5832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 5842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 5852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/************************************/ 5862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* PPTP message print out functions */ 5872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/************************************/ 5882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 5892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_sccrq_print(const u_char *dat) 5902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 5912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_sccrq *ptr = (struct pptp_msg_sccrq *)dat; 5922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 5932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->proto_ver); 5942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_proto_ver_print(&ptr->proto_ver); 5952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 5962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->framing_cap); 5972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_framing_cap_print(&ptr->framing_cap); 5982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->bearer_cap); 5992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_bearer_cap_print(&ptr->bearer_cap); 6002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->max_channel); 6012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_max_channel_print(&ptr->max_channel); 6022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->firm_rev); 6032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_firm_rev_print(&ptr->firm_rev); 6042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->hostname); 6052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_hostname_print(&ptr->hostname[0]); 6062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->vendor); 6072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_vendor_print(&ptr->vendor[0]); 6082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 6102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 6122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 6132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 6142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 6162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_sccrp_print(const u_char *dat) 6172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 6182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_sccrp *ptr = (struct pptp_msg_sccrp *)dat; 6192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->proto_ver); 6212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_proto_ver_print(&ptr->proto_ver); 6222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->result_code); 6232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_result_code_print(&ptr->result_code, PPTP_CTRL_MSG_TYPE_SCCRP); 6242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->err_code); 6252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_err_code_print(&ptr->err_code); 6262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->framing_cap); 6272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_framing_cap_print(&ptr->framing_cap); 6282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->bearer_cap); 6292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_bearer_cap_print(&ptr->bearer_cap); 6302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->max_channel); 6312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_max_channel_print(&ptr->max_channel); 6322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->firm_rev); 6332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_firm_rev_print(&ptr->firm_rev); 6342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->hostname); 6352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_hostname_print(&ptr->hostname[0]); 6362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->vendor); 6372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_vendor_print(&ptr->vendor[0]); 6382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 6402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 6422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 6432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 6442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 6462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_stopccrq_print(const u_char *dat) 6472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 6482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_stopccrq *ptr = (struct pptp_msg_stopccrq *)dat; 6492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reason); 6512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" REASON(%u", ptr->reason); 6522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (vflag) { 6532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch (ptr->reason) { 6542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 1: 6552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":None"); 6562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 6572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 2: 6582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Stop-Protocol"); 6592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 6602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case 3: 6612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":Stop-Local-Shutdown"); 6622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 6632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 6642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(":?"); 6652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 6662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 6672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 6682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(")"); 6692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 6702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved2); 6712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 6732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 6752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 6762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 6772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 6792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_stopccrp_print(const u_char *dat) 6802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 6812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_stopccrp *ptr = (struct pptp_msg_stopccrp *)dat; 6822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->result_code); 6842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_result_code_print(&ptr->result_code, PPTP_CTRL_MSG_TYPE_StopCCRP); 6852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->err_code); 6862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_err_code_print(&ptr->err_code); 6872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 6882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 6902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 6922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 6932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 6942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 6962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_echorq_print(const u_char *dat) 6972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 6982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_echorq *ptr = (struct pptp_msg_echorq *)dat; 6992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->id); 7012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_id_print(&ptr->id); 7022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 7042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 7062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 7072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 7082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 7102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_echorp_print(const u_char *dat) 7112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 7122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_echorp *ptr = (struct pptp_msg_echorp *)dat; 7132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->id); 7152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_id_print(&ptr->id); 7162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->result_code); 7172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_result_code_print(&ptr->result_code, PPTP_CTRL_MSG_TYPE_ECHORP); 7182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->err_code); 7192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_err_code_print(&ptr->err_code); 7202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 7212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 7232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 7252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 7262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 7272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 7292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_ocrq_print(const u_char *dat) 7302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 7312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_ocrq *ptr = (struct pptp_msg_ocrq *)dat; 7322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_id); 7342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_id_print(&ptr->call_id); 7352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_ser); 7362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_ser_print(&ptr->call_ser); 7372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->min_bps); 7382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" MIN_BPS(%u)", EXTRACT_32BITS(&ptr->min_bps)); 7392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->max_bps); 7402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" MAX_BPS(%u)", EXTRACT_32BITS(&ptr->max_bps)); 7412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->bearer_type); 7422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_bearer_type_print(&ptr->bearer_type); 7432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->framing_type); 7442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_framing_type_print(&ptr->framing_type); 7452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->recv_winsiz); 7462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_recv_winsiz_print(&ptr->recv_winsiz); 7472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->pkt_proc_delay); 7482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_pkt_proc_delay_print(&ptr->pkt_proc_delay); 7492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->phone_no_len); 7502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" PHONE_NO_LEN(%u)", EXTRACT_16BITS(&ptr->phone_no_len)); 7512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 7522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->phone_no); 7532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" PHONE_NO(%.64s)", ptr->phone_no); 7542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->subaddr); 7552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_subaddr_print(&ptr->subaddr[0]); 7562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 7582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 7602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 7612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 7622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 7642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_ocrp_print(const u_char *dat) 7652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 7662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_ocrp *ptr = (struct pptp_msg_ocrp *)dat; 7672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_id); 7692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_id_print(&ptr->call_id); 7702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->peer_call_id); 7712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_peer_call_id_print(&ptr->peer_call_id); 7722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->result_code); 7732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_result_code_print(&ptr->result_code, PPTP_CTRL_MSG_TYPE_OCRP); 7742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->err_code); 7752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_err_code_print(&ptr->err_code); 7762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->cause_code); 7772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_cause_code_print(&ptr->cause_code); 7782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->conn_speed); 7792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_conn_speed_print(&ptr->conn_speed); 7802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->recv_winsiz); 7812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_recv_winsiz_print(&ptr->recv_winsiz); 7822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->pkt_proc_delay); 7832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_pkt_proc_delay_print(&ptr->pkt_proc_delay); 7842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->phy_chan_id); 7852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_phy_chan_id_print(&ptr->phy_chan_id); 7862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 7882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 7902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 7912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 7922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 7942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_icrq_print(const u_char *dat) 7952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 7962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_icrq *ptr = (struct pptp_msg_icrq *)dat; 7972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 7982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_id); 7992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_id_print(&ptr->call_id); 8002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_ser); 8012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_ser_print(&ptr->call_ser); 8022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->bearer_type); 8032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_bearer_type_print(&ptr->bearer_type); 8042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->phy_chan_id); 8052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_phy_chan_id_print(&ptr->phy_chan_id); 8062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->dialed_no_len); 8072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" DIALED_NO_LEN(%u)", EXTRACT_16BITS(&ptr->dialed_no_len)); 8082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->dialing_no_len); 8092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" DIALING_NO_LEN(%u)", EXTRACT_16BITS(&ptr->dialing_no_len)); 8102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->dialed_no); 8112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" DIALED_NO(%.64s)", ptr->dialed_no); 8122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->dialing_no); 8132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" DIALING_NO(%.64s)", ptr->dialing_no); 8142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->subaddr); 8152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_subaddr_print(&ptr->subaddr[0]); 8162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 8182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 8202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 8212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 8222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 8242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_icrp_print(const u_char *dat) 8252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 8262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_icrp *ptr = (struct pptp_msg_icrp *)dat; 8272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_id); 8292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_id_print(&ptr->call_id); 8302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->peer_call_id); 8312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_peer_call_id_print(&ptr->peer_call_id); 8322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->result_code); 8332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_result_code_print(&ptr->result_code, PPTP_CTRL_MSG_TYPE_ICRP); 8342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->err_code); 8352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_err_code_print(&ptr->err_code); 8362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->recv_winsiz); 8372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_recv_winsiz_print(&ptr->recv_winsiz); 8382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->pkt_proc_delay); 8392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_pkt_proc_delay_print(&ptr->pkt_proc_delay); 8402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 8412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 8432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 8452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 8462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 8472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 8492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_iccn_print(const u_char *dat) 8502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 8512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_iccn *ptr = (struct pptp_msg_iccn *)dat; 8522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->peer_call_id); 8542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_peer_call_id_print(&ptr->peer_call_id); 8552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 8562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->conn_speed); 8572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_conn_speed_print(&ptr->conn_speed); 8582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->recv_winsiz); 8592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_recv_winsiz_print(&ptr->recv_winsiz); 8602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->pkt_proc_delay); 8612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_pkt_proc_delay_print(&ptr->pkt_proc_delay); 8622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->framing_type); 8632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_framing_type_print(&ptr->framing_type); 8642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 8662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 8682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 8692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 8702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 8722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_ccrq_print(const u_char *dat) 8732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 8742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_ccrq *ptr = (struct pptp_msg_ccrq *)dat; 8752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_id); 8772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_id_print(&ptr->call_id); 8782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 8792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 8812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 8832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 8842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 8852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 8872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_cdn_print(const u_char *dat) 8882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 8892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_cdn *ptr = (struct pptp_msg_cdn *)dat; 8902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 8912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_id); 8922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_call_id_print(&ptr->call_id); 8932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->result_code); 8942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_result_code_print(&ptr->result_code, PPTP_CTRL_MSG_TYPE_CDN); 8952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->err_code); 8962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_err_code_print(&ptr->err_code); 8972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->cause_code); 8982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_cause_code_print(&ptr->cause_code); 8992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 9002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->call_stats); 9012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CALL_STATS(%.128s)", ptr->call_stats); 9022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 9042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 9062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 9072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 9082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 9102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_wen_print(const u_char *dat) 9112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 9122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_wen *ptr = (struct pptp_msg_wen *)dat; 9132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->peer_call_id); 9152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_peer_call_id_print(&ptr->peer_call_id); 9162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 9172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->crc_err); 9182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CRC_ERR(%u)", EXTRACT_32BITS(&ptr->crc_err)); 9192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->framing_err); 9202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" FRAMING_ERR(%u)", EXTRACT_32BITS(&ptr->framing_err)); 9212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->hardware_overrun); 9222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" HARDWARE_OVERRUN(%u)", EXTRACT_32BITS(&ptr->hardware_overrun)); 9232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->buffer_overrun); 9242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" BUFFER_OVERRUN(%u)", EXTRACT_32BITS(&ptr->buffer_overrun)); 9252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->timeout_err); 9262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" TIMEOUT_ERR(%u)", EXTRACT_32BITS(&ptr->timeout_err)); 9272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->align_err); 9282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" ALIGN_ERR(%u)", EXTRACT_32BITS(&ptr->align_err)); 9292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 9312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 9332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 9342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 9352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstatic void 9372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_sli_print(const u_char *dat) 9382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 9392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project struct pptp_msg_sli *ptr = (struct pptp_msg_sli *)dat; 9402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->peer_call_id); 9422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_peer_call_id_print(&ptr->peer_call_id); 9432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->reserved1); 9442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->send_accm); 9452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" SEND_ACCM(0x%08x)", EXTRACT_32BITS(&ptr->send_accm)); 9462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(ptr->recv_accm); 9472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" RECV_ACCM(0x%08x)", EXTRACT_32BITS(&ptr->recv_accm)); 9482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 9502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 9522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 9532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 9542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectvoid 9562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectpptp_print(const u_char *dat) 9572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project{ 9582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project const struct pptp_hdr *hdr; 9592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t mc; 9602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int16_t ctrl_msg_type; 9612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(": pptp"); 9632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project hdr = (struct pptp_hdr *)dat; 9652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(hdr->length); 9672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (vflag) { 9682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" Length=%u", EXTRACT_16BITS(&hdr->length)); 9692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 9702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(hdr->msg_type); 9712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (vflag) { 9722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch(EXTRACT_16BITS(&hdr->msg_type)) { 9732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_MSG_TYPE_CTRL: 9742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CTRL-MSG"); 9752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 9762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_MSG_TYPE_MGMT: 9772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" MGMT-MSG"); 9782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 9792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 9802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" UNKNOWN-MSG-TYPE"); 9812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 9822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 9832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 9842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 9852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(hdr->magic_cookie); 9862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project mc = EXTRACT_32BITS(&hdr->magic_cookie); 9872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (mc != PPTP_MAGIC_COOKIE) { 9882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" UNEXPECTED Magic-Cookie!!(%08x)", mc); 9892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 9902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (vflag || mc != PPTP_MAGIC_COOKIE) { 9912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" Magic-Cookie=%08x", mc); 9922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 9932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(hdr->ctrl_msg_type); 9942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project ctrl_msg_type = EXTRACT_16BITS(&hdr->ctrl_msg_type); 9952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project if (ctrl_msg_type < PPTP_MAX_MSGTYPE_INDEX) { 9962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" CTRL_MSGTYPE=%s", 9972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_message_type_string[ctrl_msg_type]); 9982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } else { 9992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf(" UNKNOWN_CTRL_MSGTYPE(%u)", ctrl_msg_type); 10002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 10012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project TCHECK(hdr->reserved0); 10022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 10032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project dat += 12; 10042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 10052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project switch(ctrl_msg_type) { 10062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_SCCRQ: 10072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_sccrq_print(dat); 10082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_SCCRP: 10102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_sccrp_print(dat); 10112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_StopCCRQ: 10132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_stopccrq_print(dat); 10142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_StopCCRP: 10162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_stopccrp_print(dat); 10172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ECHORQ: 10192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_echorq_print(dat); 10202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ECHORP: 10222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_echorp_print(dat); 10232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_OCRQ: 10252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_ocrq_print(dat); 10262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_OCRP: 10282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_ocrp_print(dat); 10292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ICRQ: 10312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_icrq_print(dat); 10322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ICRP: 10342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_icrp_print(dat); 10352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_ICCN: 10372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_iccn_print(dat); 10382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_CCRQ: 10402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_ccrq_print(dat); 10412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_CDN: 10432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_cdn_print(dat); 10442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_WEN: 10462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_wen_print(dat); 10472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project case PPTP_CTRL_MSG_TYPE_SLI: 10492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project pptp_sli_print(dat); 10502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project default: 10522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project /* do nothing */ 10532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project break; 10542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project } 10552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 10562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project return; 10572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 10582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttrunc: 10592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project printf("%s", tstr); 10602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} 1061