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

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

?? ppplib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* pppLib.c - Point-to-Point Protocol library *//* Copyright 1995 Wind River Systems, Inc. */#include "copyright_wrs.h"/* * Copyright (c) 1989 Carnegie Mellon University. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by Carnegie Mellon University.  The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. *//*modification history--------------------01x,04dec00,adb  enabled PPP_HOOK_DISCONNECT in pppDelete01w,23oct00,cn   Fix for spr 34068, cleanup of clients' addresses structures.01y,19oct00,cn   Fix for spr 34657, cleanup of callout structures.01v,17feb99,sgv  Fix for spr 24560, proper cleanup when ppp options file 		 cannot be accessed01u,31aug98,fle  doc : got rid of simple quotes to avoid bold troubles01t,15aug97,sgv  fixed spr #9109. In cleanup routine, ppp_if[unit] 		 is checked for NULL memory address before freeing it01s,10dec96,vin  fixed problem with die(..) if OPT_SILENT or OPT_PASSIVE		 is specified. Made changes to term(..) so that pppDelete()		 would work even if silent or passive options are specified.		 fixed SPR 7604.01r,15nov96,vin  fixed problem with OPT_DRIVER_DEBUG, establish_ppp() 		 should be called after the options are set. The only		 dependency is that pppopen() should be called before		 establish_ppp().01q,19dec95,vin  doc tweaks.01p,30nov95,vin  added hooks on a unit basis.01o,11jul95,dzb  doc tweaks.01n,22jun95,dzb  changed [un]timeout() to ppp_[un]timeout().                 removed usehostname option.  Enhanced doc.01m,12jun95,dzb  added MIBII counter for unknown protocol packets.                 changed [dis]connect strings to global hook routines.                 header file consolidation.  removed device_script().		 removed perror() reference.01l,08jun95,dzb  made LOG_NOTICE message printed even w/o debug option.01k,16may95,dzb  put back in login option doc.01j,09may95,dzb  added callout to pppSecretLibInit().                 switched all lcp_close() calls to go through die().01i,03may95,dzb  doc tweaks: removed login option, fixed require_chap_file,                 added pap_passwd option.01h,07mar95,dzb  changed cfree() to free() (ANSI).  Changed name to pppLib.c.                 additional doc/formatting.01g,13feb95,dab  fixed pppDelete() for multi unit support (SPR #4062).01f,09feb95,dzb  fixed proto tbl input call for multi unit support (SPR #4062).01e,07feb95,dab  changed syslog to MAINDEBUG for reg status messages.            dzb  changed to look at (errno != EINTR) after sigsuspend().01d,24jan95,dzb  ifdef VXW5_1 for timer_create() backwards capatibility.                 renamed params for pppInit() and ppp_task().01c,13jan95,dab  enhanced doc.01b,22dec94,dzb  tree shuffle and warning cleanup.01a,21dec94,dab  VxWorks port - first WRS version.	   +dzb  added: path for ppp header files, WRS copyright.*//*DESCRIPTIONThis library implements the VxWorks Point-to-Point Protocol (PPP)facility.  PPP allows VxWorks to communicate with other machines by sendingencapsulated multi-protocol datagrams over a point-to-point serial link.VxWorks may have up to 16 PPP interfaces active at any one time.  Eachindividual interface (or "unit") operates independent of the state ofother PPP units.USER-CALLABLE ROUTINESPPP network interfaces are initialized using the pppInit() routine. This routine's parameters specify the unit number, the name of the serial interface (<tty>) device, Internet (IP) addresses for both ends of the link,the interface baud rate, an optional pointer to a configuration options structure, and an optional pointer to a configuration options file.  The pppDelete() routine deletes a specified PPP interface.DATA ENCAPSULATIONPPP uses HDLC-like framing, in which five header and three trailer octets areused to encapsulate each datagram.  In environments where bandwidth is ata premium, the total encapsulation may be shortened to four octets withthe available address/control and protocol field compression options.LINK CONTROL PROTOCOLPPP incorporates a link-layer protocol called Link Control Protocol (LCP),which is responsible for the link set up, configuration, and termination.LCP provides for automatic negotiation of several link options, includingdatagram encapsulation format, user authentication, and link monitoring(LCP echo request/reply).NETWORK CONTROL PROTOCOLSPPP's Network Control Protocols (NCP) allow PPP to support different network protocols.  VxWorks supports only one NCP, the InternetProtocol Control Protocol (IPCP), which allows the establishment andconfiguration of IP over PPP links.  IPCP supports the negotiation of IPaddresses and TCP/IP header compression (commonly called "VJ" compression).AUTHENTICATIONThe VxWorks PPP implementation supports two separate user authenticationprotocols: the Password Authentication Protocol (PAP) and theChallenge-Handshake Authentication Protocol (CHAP).  While PAP onlyauthenticates at the time of link establishment, CHAP may be configured toperiodically require authentication throughout the life of the link.Both protocols are independent of one another, and either may be configuredin through the PPP options structure or options file.IMPLEMENTATIONEach VxWorks PPP interface is handled by two tasks: the daemon task(tPPP<unit>) and the write task (tPPP<unit>Wrt).The daemon task controls the various PPP control protocols (LCP, IPCP, CHAP,and PAP).  Each PPP interface has its own daemon task that handles linkset up, negotiation of link options, link-layer user athentication, andlink termination.  The daemon task is not used for the actual sending andreceiving of IP datagrams.The write task controls the transmit end of a PPP driver interface.Each PPP interface has its own write task that handles the actual sendingof a packet by writing data to the <tty> device.  Whenever a packet is readyto be sent out, the PPP driver activates this task by giving a semaphore.The write task then completes the packet framing and writesthe packet data to the <tty> device.The receive end of the PPP interface is implemented as a "hook" intothe <tty> device driver.  The <tty> driver's receive interrupt service routine(ISR) calls the PPP driver's ISR every time a character is received on theserial channel.  When the correct PPP framing character sequence is received,the PPP ISR schedules the tNetTask task to call the PPP input routine.The PPP input routine reads a whole PPP packet out of the <tty> ringbuffer and processes it according to PPP framing rules.The packet is then queued either to the IP input queue or to the PPP daemontask input queue.INCLUDE FILES: pppLib.hSEE ALSO: ifLib, tyLib, pppSecretLib, pppShow,.pG "Network", .I "RFC-1332: The PPP Internet Protocol Control Protocol (IPCP)", .I "RFC-1334: PPP Authentication Protocols", .I "RFC-1548: The Point-to-Point Protocol (PPP)", .I "RFC-1549: PPP in HDLC Framing"ACKNOWLEDGEMENTThis program is based on original work done by Paul Mackerras ofAustralian National University, Brad Parker, Greg Christy, Drew D. Perkins,Rick Adams, and Chris Torek.INTERNAL         pppInit               pppDelete             |                     |            |                     |            |                     |         pppopen   pppwrite    pppclose   pppintr   pppread   pppioctl           /\          |          |          |                         /  \         |          |          |                       /    \    pppoutput      |          |                     /      \       |          |          |                   /        \      |          |          |             pppalloc pppWrtTask <-      pppdealloc ppp_tty_read       |                                      |                 |                                      |                 |                                      |             pppattach                               pppinput                                             |                                             |                                             |                                          ppppktin*/#include "vxWorks.h"#include "string.h"#include "sigLib.h"#include "sysLib.h"#include "sockLib.h"#include "ioLib.h"#include "iosLib.h"#include "excLib.h"#include "time.h"#include "timers.h"#include "taskLib.h"#include "taskVarLib.h"#include "hostLib.h"#include "sys/ioctl.h"#include "netinet/in.h"#include "arpa/inet.h"#include "stdio.h"#include "signal.h"#include "errno.h"#include "fcntl.h"#include "sys/types.h"#include "sys/stat.h"#include "sys/socket.h"#include "sys/times.h"#include "net/if.h"#include "netLib.h"#include "pppLib.h"/* PPP parameter structure */typedef struct ppp_parms{	char *task_name;        char *devname;        char *local_addr;        char *remote_addr;        char *filename;        int unit;        int baud;        PPP_OPTIONS options;} PPP_PARMS;/* globals */int ppp_unit;				/* PPP unit id */PPP_TASK_VARS *ppp_if[NPPP];		/* per task PPP variables */PPP_PARMS *ppp_parms[NPPP];		/* PPP parameters */PPP_HOOK_RTNS * pppHookRtns [NPPP];	/* PPP table of hooks */int ppp_task_priority		= 55;int ppp_task_options		= VX_FP_TASK | VX_DEALLOC_STACK;int ppp_task_stack_size		= 0x4000;char *ppp_task_name		= "tPPP";/* prototypes */static int  baud_rate_of __ARGS((int));static int  translate_speed __ARGS((int));static int  set_up_tty __ARGS((int));static void hup __ARGS((int));static void intr __ARGS((int));static void term __ARGS((int));static void alrm __ARGS((int));static void io __ARGS(());static void incdebug __ARGS((int));static void nodebug __ARGS((int));static void cleanup __ARGS((int, int, caddr_t));/* * PPP Data Link Layer "protocol" table. * One entry per supported protocol. */static struct protent {    u_short protocol;    void (*init)();    void (*input)();    void (*protrej)();    int  (*printpkt)();    char *name;} prottbl[] = {    { LCP, lcp_init, lcp_input, lcp_protrej, lcp_printpkt, "LCP" },    { IPCP, ipcp_init, ipcp_input, ipcp_protrej, ipcp_printpkt, "IPCP" },    { UPAP, upap_init, upap_input, upap_protrej, upap_printpkt, "PAP" },    { CHAP, ChapInit, ChapInput, ChapProtocolReject, ChapPrintPkt, "CHAP" },};#define N_PROTO         (sizeof(prottbl) / sizeof(prottbl[0]))/********************************************************************************* pppInit - initialize a PPP network interface** This routine initializes a Point-to-Point Protocol (PPP) network interface.* The parameters to this routine specify the unit number (<unit>) of the* PPP interface, the name of the serial interface (<tty>) device (<devname>),* the IP addresses of the local and remote ends of the link, the interface* baud rate, an optional configuration options structure pointer, and an* optional configuration options file name.** IP ADDRESSES:* The <local_addr> and <remote_addr> parameters specify the IP addresses* of the local and remote ends of the PPP link, respectively.* If <local_addr> is NULL, the local IP address will be negotiated with* the remote peer.  If the remote peer does not assign a local IP address,* it will default to the address associated with the local target's machine* name.  If <remote_addr> is NULL, the remote peer's IP address will obtained* from the remote peer.  A routing table entry to the remote peer will be* automatically added once the PPP link is established.** CONFIGURATION OPTIONS STRUCTURE:* The optional parameter <pOptions> specifies configuration options for* the PPP link.  If NULL, this parameter is ignored, otherwise it* is assumed to be a pointer to a PPP_OPTIONS options structure (defined* in h/netinet/ppp/options.h).** The "flags" member of the PPP_OPTIONS structure is a bit-mask, where the* following bit-flags may be specified:* .iP "OPT_NO_ALL"* Do not request/allow any options.* .iP "OPT_PASSIVE_MODE"* Set passive mode.* .iP "OPT_SILENT_MODE"* Set silent mode.* .iP "OPT_DEFAULTROUTE"* Add default route.* .iP "OPT_PROXYARP"* Add proxy ARP entry.* .iP "OPT_IPCP_ACCEPT_LOCAL"* Accept peer's idea of the local IP address.* .iP "OPT_IPCP_ACCEPT_REMOTE"* Accept peer's idea of the remote IP address.* .iP "OPT_NO_IP"* Disable IP address negotiation.* .iP "OPT_NO_ACC"* Disable address/control compression.* .iP "OPT_NO_PC"* Disable protocol field compression.* .iP "OPT_NO_VJ"* Disable VJ (Van Jacobson) compression.* .iP "OPT_NO_VJCCOMP"* Disable VJ (Van Jacobson) connnection ID compression.* .iP "OPT_NO_ASYNCMAP"* Disable async map negotiation.* .iP "OPT_NO_MN"* Disable magic number negotiation.* .iP "OPT_NO_MRU"* Disable MRU (Maximum Receive Unit) negotiation.* .iP "OPT_NO_PAP"* Do not allow PAP authentication with peer.* .iP "OPT_NO_CHAP"* Do not allow CHAP authentication with peer.* .iP "OPT_REQUIRE_PAP"* Require PAP authentication with peer.* .iP "OPT_REQUIRE_CHAP"* Require CHAP authentication with peer.* .iP "OPT_LOGIN"* Use the login password database for PAP authentication of peer.* .iP "OPT_DEBUG"* Enable PPP daemon debug mode.* .iP "OPT_DRIVER_DEBUG"* Enable PPP driver debug mode.* .LP** The remaining members of the PPP_OPTIONS structure specify PPP configurations* options that require string values.  These options are:* .iP "char *asyncmap"* Set the desired async map to the specified string.* .iP "char *escape_chars"* Set the chars to escape on transmission to the specified string.* .iP "char *vj_max_slots"* Set maximum number of VJ compression header slots to the specified string.* .iP "char *netmask"* Set netmask value for negotiation to the specified string.* .iP "char *mru"* Set MRU value for negotiation to the specified string.* .iP "char *mtu"* Set MTU (Maximum Transmission Unit) value for negotiation to the* specified string.* .iP "char *lcp_echo_failure"* Set the maximum number of consecutive LCP echo failures to the specified* string.* .iP "char *lcp_echo_interval"* Set the interval in seconds between LCP echo requests to the specified string.* .iP "char *lcp_restart"* Set the timeout in seconds for the LCP negotiation to the specified string.* .iP "char *lcp_max_terminate"* Set the maximum number of transmissions for LCP termination requests* to the specified string.* .iP "char *lcp_max_configure"* Set the maximum number of transmissions for LCP configuration* requests to the specified string.* .iP "char *lcp_max_failure"* Set the maximum number of LCP configuration NAKs to the specified string.* .iP "char *ipcp_restart"* Set the timeout in seconds for IPCP negotiation to the specified string.* .iP "char *ipcp_max_terminate"* Set the maximum number of transmissions for IPCP termination requests* to the specified string.* .iP "char *ipcp_max_configure"* Set the maximum number of transmissions for IPCP configuration requests* to the specified string.* .iP "char *ipcp_max_failure"* Set the maximum number of IPCP configuration NAKs to the specified string.* .iP "char *local_auth_name"* Set the local name for authentication to the specified string.* .iP "char *remote_auth_name"* Set the remote name for authentication to the specified string.* .iP "char *pap_file"* Get PAP secrets from the specified file.  This option is necessary* if either peer requires PAP authentication.* .iP "char *pap_user_name"* Set the user name for PAP authentication with the peer to the* specified string.* .iP "char *pap_passwd"* Set the password for PAP authentication with the peer to the specified string.* .iP "char *pap_restart"* Set the timeout in seconds for PAP negotiation to the specified string.* .iP "char *pap_max_authreq"* Set the maximum number of transmissions for PAP authentication* requests to the specified string.* .iP "char *chap_file"* Get CHAP secrets from the specified file.  This option is necessary* if either peer requires CHAP authentication.* .iP "char *chap_restart"* Set the timeout in seconds for CHAP negotiation to the specified string.* .iP "char *chap_interval"* Set the interval in seconds for CHAP rechallenge to the specified string.* .iP "char *chap_max_challenge"* Set the maximum number of transmissions for CHAP challenge to the* specified string.** CONFIGURATION OPTIONS FILE:* The optional parameter <fOptions> specifies configuration options for* the PPP link.  If NULL, this parameter is ignored, otherwise it* is assumed to be the name of a configuration options file.  The format* of the options file is one option per line; comment lines start with "#".* The following options are recognized:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久夜色精品国产欧美乱极品| 日本伊人色综合网| 亚洲午夜激情av| 日韩av中文字幕一区二区| 国产黄人亚洲片| 色综合久久88色综合天天免费| 欧美午夜一区二区三区| 欧美成人综合网站| 亚洲天堂2016| 欧美aa在线视频| 成人h动漫精品一区二区| 欧美日韩在线播放一区| 久久先锋影音av| 一区二区欧美在线观看| 久久99国产精品久久99果冻传媒| 成人av在线影院| 91麻豆精品国产| 国产精品久久久久久久久图文区 | 国产剧情一区二区三区| 91视频在线观看免费| 欧美一卡二卡三卡四卡| 中文字幕在线视频一区| 日本网站在线观看一区二区三区 | 欧美国产日韩精品免费观看| 一区二区三区在线视频免费| 久久成人免费电影| 在线观看日韩毛片| 久久久久久日产精品| 一区二区在线观看免费视频播放| 精品一区二区三区欧美| 91黄视频在线观看| 国产嫩草影院久久久久| 日韩精品免费视频人成| 91在线porny国产在线看| 日韩欧美国产小视频| 亚洲综合色区另类av| 高清国产一区二区| 欧美一区二区视频在线观看| 亚洲欧美日韩国产成人精品影院 | 久久亚洲精华国产精华液 | 在线精品视频免费观看| 久久久国产精品午夜一区ai换脸| 亚洲sss视频在线视频| av不卡在线播放| 久久久欧美精品sm网站| 日韩vs国产vs欧美| 欧美色图在线观看| 亚洲国产视频一区二区| 粉嫩av亚洲一区二区图片| 日韩视频一区二区在线观看| 一区二区视频免费在线观看| 国产jizzjizz一区二区| 欧美精品一区在线观看| 日本亚洲最大的色成网站www| 色视频欧美一区二区三区| 欧美国产激情二区三区| 国产一区在线观看视频| 日韩限制级电影在线观看| 午夜成人在线视频| 欧美性感一类影片在线播放| 国产精品久久久久久久久动漫 | 91精品免费在线观看| 亚洲欧美日韩国产一区二区三区| 成人午夜免费视频| 久久一留热品黄| 国产伦精品一区二区三区视频青涩| 日韩视频一区二区三区在线播放| 亚洲成人激情社区| 欧美日韩一区三区| 亚洲第一久久影院| 欧美色爱综合网| 亚洲成a人片综合在线| 欧美午夜精品一区二区三区| 一个色综合av| 91成人国产精品| 亚洲一区二区不卡免费| 欧美色爱综合网| 日韩中文字幕av电影| 91精品国产综合久久久久久漫画 | 日韩欧美成人午夜| 美腿丝袜亚洲色图| 精品日韩在线一区| 国产精品一区二区你懂的| 精品国产青草久久久久福利| 精品亚洲成av人在线观看| 亚洲精品在线电影| 高清国产午夜精品久久久久久| 国产精品―色哟哟| 一本到三区不卡视频| 夜夜嗨av一区二区三区| 欧美嫩在线观看| 青青草国产精品亚洲专区无| 精品国产伦一区二区三区观看体验 | 国产一区在线观看麻豆| 国产视频在线观看一区二区三区| 国产成人啪免费观看软件| 国产精品乱人伦一区二区| 91免费版pro下载短视频| 一二三区精品视频| 日韩一区二区在线观看| 国产激情偷乱视频一区二区三区| 中文字幕 久热精品 视频在线| 91色porny在线视频| 亚洲国产成人va在线观看天堂| 91精品国产综合久久精品图片| 韩国中文字幕2020精品| 国产精品二三区| 欧美午夜在线观看| 国内欧美视频一区二区| 欧美国产成人在线| 欧美婷婷六月丁香综合色| 看电视剧不卡顿的网站| 国产精品久久久久久亚洲伦| 欧美乱熟臀69xxxxxx| 老司机精品视频线观看86| 欧美国产1区2区| 久久久久久久av麻豆果冻| 欧美日韩综合色| 亚洲精选视频免费看| 成人午夜碰碰视频| 亚洲.国产.中文慕字在线| 精品久久国产字幕高潮| 青青青伊人色综合久久| 国产亚洲美州欧州综合国| 色婷婷亚洲综合| 极品少妇一区二区三区精品视频| 一区在线观看免费| 欧美一区二区三区白人| 不卡av免费在线观看| 天天影视色香欲综合网老头| 欧美国产视频在线| 欧美一区二区三区啪啪| av影院午夜一区| 久久激情五月婷婷| 一区二区三区国产精品| 久久免费视频色| 欧美人与性动xxxx| 99re在线精品| 精品一区二区三区久久| 亚洲国产视频在线| 亚洲欧洲日韩在线| 2023国产精品| 欧美另类videos死尸| 成人av网站在线观看免费| 久久机这里只有精品| 一区二区三区色| 国产精品久久网站| 精品国产91九色蝌蚪| 欧美精品黑人性xxxx| 99re这里只有精品视频首页| 国产一区亚洲一区| 日韩国产精品久久| 亚洲一区二区三区四区在线免费观看 | 精品99999| 制服丝袜国产精品| 欧美影视一区在线| 99视频精品全部免费在线| 国产综合久久久久久久久久久久| 午夜精品久久久久影视| 亚洲人成小说网站色在线| 国产视频在线观看一区二区三区| 欧美一二三区在线观看| 欧美军同video69gay| 日本精品一区二区三区四区的功能| 懂色av中文字幕一区二区三区| 理论电影国产精品| 日韩成人免费电影| 日日欢夜夜爽一区| 午夜欧美2019年伦理| 亚洲一区二区三区影院| 亚洲综合视频在线观看| 亚洲精品高清在线观看| 亚洲人吸女人奶水| 1000精品久久久久久久久| 欧美国产日韩亚洲一区| 国产精品无遮挡| 国产欧美日韩另类一区| 国产欧美精品国产国产专区| 国产日韩精品一区二区浪潮av | 成人黄色片在线观看| 丁香六月久久综合狠狠色| 国产精品一区二区久久不卡| 黑人巨大精品欧美一区| 国产精品一区二区你懂的| 国产成人免费xxxxxxxx| 风间由美一区二区av101| 国产成人午夜精品5599| 不卡的av电影| 91麻豆国产精品久久| 91免费小视频| 欧美亚洲丝袜传媒另类| 欧美日韩一二区| 国产欧美日韩中文久久| 亚洲已满18点击进入久久| 国产精品女人毛片| 国产精品久久久久久福利一牛影视| 国产校园另类小说区| 国产嫩草影院久久久久| 亚洲欧美日韩中文播放| 亚洲一区av在线|