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

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

?? client_root_jj.c

?? PPPoE協議在Psos中的實現源代碼
?? C
字號:
/*********************************************************************/
/* lijj 04.5.22                                                      */
/*********************************************************************/

/*Override global tracing setting for this file.*/
#undef  TRACING
#define TRACING 1

/*From CLib*/
#include <stdarg.h>
#include <stdio.h>
#include <tm1/tsaComponent.h>
#include <tmlib/dprintf.h>
#include "c:\trimedia\include\tm1\mmio.h"
#include <tm1/tmBoard.h>
#include <tm1/tmProcessor.h>

/*From pSOSystem*/
#include <pna.h>
#include <dns.h>
/*#include <genif.h>*/

/*#include <drv_intf.h>*/
#include <gsblk.h>
#include <ni_ppp.h>
#include <configs.h>
#include <tm1/tmIntPins.h>

/*Local*/
#include "ppp.h"
#include "sys_conf.h"
#include "pppoe.h"
#include "traceppp.h"
#include "cs8900a.h"


#define ioctl ioctlsocket
#define close closesocket

#define STRLEN(s) (sizeof (s) - 1) /*length of a string constant*/
#define K 1024
#define M (K*K)

extern NODE_CT        NodeCfg;
extern struct ppp_cfg pppcfgtab [];
#define SEC2TICKS(sec) (NodeCfg.psosct->kc_ticks2sec*(sec))


#define PPP_LOCAL_IP 0
#define PPP_PEER_IP  0

#define COUNT(a) (sizeof (a)/sizeof *(a))
#define satosin(sa) ((struct sockaddr_in *)(sa))
/*------------------------------------------------------------------*/
/*SETTING THE CLIENT TASK PARAMETERS                                */
/*The following define the constants for the client task.  Root task*/
/*creates client task with the following parameters.  These are     */
/*passed in as parameters to tmosTaskCreate and tmosTaskStart calls */
/*------------------------------------------------------------------*/
#define CLIENT_NAME     "CLNT" /*Name of the client task*/
#define CLIENT_PRIO     200    /*Priority of the client task*/
#define CLIENT_USRSTACK 80000  /*User stack size of  client task*/
#define CLIENT_SYSSTACK 80000  /*Supervisor stack size*/
#define CLIENT_FLAGS    0x00   /*Flags for client task*/
#define CLIENT_INITMODE 0x2000 /*Initial mode of the client task*/

#define SERVER_PORT 2000       /*Server port*/
#define DATE        0x07C6081C /*Date set by tm_set call*/

#define HTTP_REQUEST         \
   "GET <page> HTTP/1.1\r\n" \
   "Host: <host name>\r\n"   \
   "\r\n"

/********************************************************************/
/*Do a compile-time check to see if pNA is included in the build.   */
/********************************************************************/
#if SC_PNA == NO
#error Need pNA + for this application (see sysgen/sys_conf.h)
#endif

/*------------------------------------------------------------------*/
/*Global Variables                                                  */
/*------------------------------------------------------------------*/
extern long NiPPPoE ();
extern unsigned long pppoe_DisiISLInit();
extern void pppoe_DisiISLSend(char *addr, mblk_t *mp);
extern char BroadcastAddr[6];
static struct ni_init ni_pppoe [] =
{
   (int (*) ()) NiPPPoE,  /*ptr to interface code*/
   htonl (0),             /*IP address*/
   MAX_PPPOE_MTU,         /*maximum transmission unit*/
   4,                     /*length of hardware address*/
   0x0012|0x2000,         /*noarp, bobcast, p-p, RAWMEM*/
   0,                     /*subnet mask*/
   htonl (0),             /*peer IP address*/
   0  
};

PPPoEConnection Connection;
/********************************************************************/
/*error: Error handling routine                                     */
/*                                                                  */
/*INPUT: pointer to character string.                               */
/********************************************************************/
void error (char *str)
{
   TRACEF ("%s 0x%X\n" _ str _ errno);
   close (0);
   k_fatal (0, 0);
}


/********************************************************************/
/*client: This function runs as CLNT and connects to server on      */
/*the remote host.  It creates a connection and sends a             */
/*number of requests, then it shuts down the connection             */
/*in one direction and receives all of the responses.               */
/********************************************************************/
void client (int PPPNiNum)
{
   char *mymsg = "ADSL has connected,cheers!";
   int msgSize;
   int                 i, rc;
   struct sockaddr_in  peeraddr_in; /*for peer socket address*/
   int                 s; /*connected socket descriptor*/
   struct ppp_ioctl    pi;
   struct ifreq        ifr;
   struct sockaddr_in *sin;
   struct rtentry rte;
   unsigned long defgate,des;
   
   /*---------------------------------------------------------------*/
   /*TRACE_k (Need to wait till the P P P driver comes up);*/
   /*---------------------------------------------------------------*/
   if ((s = socket (AF_INET, SOCK_DGRAM, UDP)) == -1)
      error ("SOCKET creation error");

   do
   {
      pi.pi_ifno = PPPNiNum;

      TRACE_k (ioctl (s, SIOCGPPPSTATUS,));
      if (ioctl (s, SIOCGPPPSTATUS, (char *) &pi) < 0)
         error ("ioctl (SIOCGPPPSTATUS) error");

      TRACE_k (wait 15s);
      tm_wkafter(SEC2TICKS (5));
   }
   while (pi.pi_status != PSUP);

   close (s);

   TRACE_k (Create the socket);
   if ((s = socket (AF_INET, SOCK_DGRAM, UDP)) == -1)
      error ("SOCKET creation error");

   TRACE_k (Get the Peer IP address resulted from the negotiation);
   ifr.ifr_ifno = PPPNiNum;
   if (ioctl(s, SIOCGIFDSTADDR, (char *) &ifr) < 0) 
      error("ioctl (SIOCGIFDSTADDR)"); 
   sin = (struct sockaddr_in *) &ifr.ifr_dstaddr;
   defgate = sin->sin_addr.s_addr;
   
   /*if (ioctl(s, SIOCGIFADDR, (char *) &ifr) < 0) 
      error("ioctl (SIOCGIFADDR)"); 
   sin = (struct sockaddr_in *) &ifr.ifr_addr;
   des = sin->sin_addr.s_addr;*/
   
   close (s);
   
   bzero((char *)&rte, sizeof(rte));
   s = socket(AF_INET, SOCK_DGRAM, 0);
   satosin(&rte.rt_dst)->sin_family = AF_INET;
   satosin(&rte.rt_dst)->sin_addr.s_addr = 0x0;
   satosin(&rte.rt_gateway)->sin_family = AF_INET;
   satosin(&rte.rt_gateway)->sin_addr.s_addr = defgate;
   rte.rt_flags = RTF_GATEWAY;
   rc = ioctl(s, SIOCADDRT, &rte);
   
   memset (&peeraddr_in, '\0', sizeof peeraddr_in);
   peeraddr_in.sin_family = AF_INET;
   peeraddr_in.sin_addr.s_addr = htonl(0xca706805);  /*sin->sin_addr.s_addr;*/
   peeraddr_in.sin_port = htons(SERVER_PORT);
   
   /*if ((s = socket (AF_INET, SOCK_DGRAM, UDP)) == -1)
      error ("SOCKET creation error"); */
      
   printf("sock number is %d\n",s);
	
   msgSize = sizeof(mymsg);
   /*for(i=0;i<20;i++)*/
   while(1)
   {	sendto(s,mymsg,72,0,&peeraddr_in,sizeof(struct sockaddr_in));
        TRACEF("send msg\n");
	tm_wkafter(30);
   }	
    /*Close the socket.*/
   close (s);
   close (0);

   TRACEF ("End Client Test\n");
   sendPADT(&Connection,"logout");
   t_suspend (0L);
   while(1);
}

static void Delay( unsigned long usec )
{
	int i;
	for(i=0;i< 133*usec;i++)
	{;}
}

/********************************************************************/
/*tmosMain: Initialize the application                              */
/*                                                                  */
/*NOTE: This executes as the 'ROOT' task.  It suspends itself       */
/*after initializing the I/O drivers and creating the               */
/*client task.                                                      */
/********************************************************************/
void root ()
{
   ULONG  rc, tid, oldprio;
   ULONG  targ [4];
   int    i;
   
            
   DPsize(5000);/*DP_START (4*M, NULL); This line equal to DPsize(5000);*/
   
   TRACE_k (+root);
   
   bzero( (char *)(&Connection), sizeof(PPPoEConnection) );
   
   BroadcastAddr[0]=0xff; BroadcastAddr[1]=0xff; BroadcastAddr[2]=0xff; BroadcastAddr[3]=0xff; BroadcastAddr[4]=0xff; BroadcastAddr[5]=0xff; 
   
   /*---------------------------------------------------------------*/
   /*Lower our priority slightly.                                   */
   /*---------------------------------------------------------------*/
   rc = t_setpri (0, 250, &oldprio);
   if (rc != 0) k_fatal (rc, 0);
   
   /*---------------------------------------------------------------*/
   /*Initialize the I/O devices.*/
   /*---------------------------------------------------------------*/
   /*TRACE_k (wait 2s);
   tm_wkafter (SEC2TICKS (2));*/
   
   if( pppoe_DisiISLInit() != 0 )
       DP(("pppoe_DisiISLInit error"));
       
   /*TRACE_k (wait 2s);
   tm_wkafter (SEC2TICKS (2));*/
       
   /*---------------------------------------------------------------*/
   /*add_ni: returns the pNA+ interface number of the new network   */
   /*        interface if successful; otherwise it returns -1.      */                                      
   /*---------------------------------------------------------------*/
   TRACE_k (Starting P P P o E...);
   if ((i = add_ni(ni_pppoe)) < 0)
      error ("add_ni () error");
   TRACEF ("PPP Interface %d added\n" _ i);
   targ [0] = i;
   
   /*---------------------------------------------------------------*/
   /*Create the client task                                         */
   /*---------------------------------------------------------------*/ 
   if (t_create(CLIENT_NAME, CLIENT_PRIO, CLIENT_SYSSTACK, CLIENT_USRSTACK, CLIENT_FLAGS, &tid) != 0)
       error ("Task creation error");
       
   if (t_start(tid, CLIENT_INITMODE, client, targ) != 0)
       error ("Task start error");

   t_suspend (0L);

   
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青青爽久久午夜综合久久午夜| 久久婷婷久久一区二区三区| 成人性生交大片免费看中文| 国产精品一区2区| 国产综合色产在线精品| 紧缚捆绑精品一区二区| 国产在线一区二区综合免费视频| 精品在线观看视频| 国产精品一二三四五| 成人晚上爱看视频| 一本大道av伊人久久综合| 在线观看网站黄不卡| 精品视频一区三区九区| 91精品婷婷国产综合久久竹菊| 欧美久久久一区| 精品黑人一区二区三区久久| 国产亚洲欧洲997久久综合 | 一本久久综合亚洲鲁鲁五月天| 不卡一卡二卡三乱码免费网站| 色老汉av一区二区三区| 欧美日韩一区二区三区四区五区| 精品视频色一区| 精品国产乱码久久久久久闺蜜| 中文字幕高清不卡| 亚洲国产一二三| 黄色日韩三级电影| 99久免费精品视频在线观看| 欧美午夜影院一区| 精品国产91久久久久久久妲己 | 国产在线精品不卡| av激情综合网| 7777精品久久久大香线蕉| 久久久久久久久99精品| 尤物在线观看一区| 国产一区二区三区精品欧美日韩一区二区三区| 成人av网站免费| 欧美理论在线播放| 中文字幕一区二区三区四区 | 精品国产91乱码一区二区三区| 中文字幕精品一区二区三区精品| 亚洲愉拍自拍另类高清精品| 韩国精品久久久| 欧美无砖专区一中文字| 亚洲国产成人一区二区三区| 日韩高清一级片| 色综合天天综合网天天狠天天| 日韩欧美国产高清| 亚洲国产视频一区| www.视频一区| 国产欧美一区二区精品仙草咪| 视频在线观看一区二区三区| 91在线观看视频| 国产日韩欧美不卡在线| 日本v片在线高清不卡在线观看| 色婷婷综合久久久久中文| 久久久久国产一区二区三区四区| 亚洲sss视频在线视频| 不卡一区二区在线| 国产精品免费久久久久| 国产麻豆精品在线观看| 日韩精品一区二区在线| 日日骚欧美日韩| 欧美日韩免费一区二区三区 | 欧美成人精品二区三区99精品| 亚洲国产色一区| 色素色在线综合| 亚洲精品视频自拍| 一本大道久久精品懂色aⅴ| 《视频一区视频二区| 成人av影院在线| 亚洲国产电影在线观看| 不卡一区二区中文字幕| 国产精品国产自产拍高清av| 成人app在线| 成人欧美一区二区三区黑人麻豆| 国产91丝袜在线播放| 国产欧美日韩精品a在线观看| 国产在线播放一区三区四| 精品日韩在线观看| 国产美女在线精品| 国产人久久人人人人爽| 成人天堂资源www在线| 亚洲欧美偷拍另类a∨色屁股| 91在线观看美女| 亚洲综合小说图片| 欧美一区二区三区男人的天堂| 久久成人免费电影| 久久久久久99精品| 91免费国产视频网站| 一区二区三区蜜桃| 制服丝袜中文字幕一区| 精品一区二区三区的国产在线播放| 欧美大片在线观看| 成人黄动漫网站免费app| 亚洲精品乱码久久久久久久久 | 久久久影视传媒| 99久久综合精品| 香蕉久久夜色精品国产使用方法 | 一本到不卡免费一区二区| 亚洲成人动漫av| 精品精品欲导航| 99久久国产综合精品色伊| 亚洲成人免费视| 国产午夜精品一区二区三区嫩草| av网站一区二区三区| 性做久久久久久久免费看| 日韩欧美国产一区二区在线播放| 国产成人夜色高潮福利影视| 亚洲图片欧美一区| 精品国产凹凸成av人网站| 91偷拍与自偷拍精品| 捆绑调教美女网站视频一区| 国产精品三级电影| 91精品国产色综合久久ai换脸 | 日韩中文字幕1| 国产色爱av资源综合区| 精品视频999| 国产成人在线视频免费播放| 亚洲18色成人| 成人免费一区二区三区视频| 日韩精品一区在线| 欧美丝袜丝nylons| 成人爱爱电影网址| 精品一区二区三区在线视频| 亚洲精品一二三四区| 国产欧美日韩三区| 欧美大片拔萝卜| 欧美福利视频一区| 色综合久久88色综合天天| 国产成人午夜高潮毛片| 卡一卡二国产精品 | 欧美在线观看一区二区| 国产精品综合久久| 久久狠狠亚洲综合| 日韩专区在线视频| 亚洲国产精品久久久久婷婷884| 中文字幕在线视频一区| 国产午夜精品理论片a级大结局| 欧美一级片在线| 欧美日韩国产美| 日本丶国产丶欧美色综合| 99视频精品在线| av电影在线观看不卡| 国产精品综合二区| 国产高清在线精品| 韩国三级在线一区| 国产一区二区三区综合| 激情综合网激情| 国产在线播放一区| 国产精品自拍一区| 高清在线成人网| 成人免费不卡视频| 99国产精品久久久| 在线影视一区二区三区| 欧美性极品少妇| 欧美日韩久久久久久| 337p亚洲精品色噜噜| 欧美一区二区三区电影| 精品人伦一区二区色婷婷| 久久先锋资源网| 国产精品无遮挡| 日韩一区在线免费观看| 亚洲自拍另类综合| 日本视频一区二区| 国产一区二区剧情av在线| 国产经典欧美精品| a美女胸又www黄视频久久| 91丨porny丨户外露出| 欧美午夜精品一区| 精品人伦一区二区色婷婷| 国产色综合一区| 亚洲老妇xxxxxx| 蜜桃免费网站一区二区三区| 久久国产成人午夜av影院| 国产成人av电影免费在线观看| 91视频免费播放| 欧美一二三四区在线| 国产午夜亚洲精品羞羞网站| 亚洲精品水蜜桃| 精品一区二区三区的国产在线播放 | 亚洲高清久久久| 精品一区二区三区在线播放| 成人午夜av在线| 欧美精品视频www在线观看 | 欧美伊人久久大香线蕉综合69 | 成人一区二区三区视频在线观看| 91首页免费视频| 欧美tk丨vk视频| 亚洲综合区在线| 国产美女在线精品| 欧美日韩一区中文字幕| 国产欧美一区二区精品仙草咪| 亚洲图片欧美一区| 成人黄色a**站在线观看| 欧美一区二区视频网站| 最近日韩中文字幕| 国产一区91精品张津瑜| 欧美精品一卡二卡| 伊人色综合久久天天人手人婷| 狠狠色综合日日|