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

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

?? nrmenus.c

?? internich公司實現的一個非常非常小的OS
?? C
?? 第 1 頁 / 共 3 頁
字號:
extern   char *   name;/* FUNCTION: showver() *  * PARAM1: void * pio * * RETURNS:  */intshowver(void * pio){   ns_printf(pio,"%s\n", name);   return 0;}extern   char *   prompt;/* if we have to deal with Intel's 16 bit segmented architecture */#ifdef SEG16_16/* FUNCTION: dump_bytes() * * segment:offset version of dump_bytes() *  * PARAM1: void * pio * * RETURNS:  */intdump_bytes(void * pio){   char *   cp;   unshort  seg,  offset;   int   length;   cp = nextarg(((GEN_IO)pio)->inbuf);    /* see if user put addr on cmd line */   if (!*cp)      goto db_prompt;   seg = (unshort)atoh(cp);cp = strchr(cp, ':');   /* find colon in string */   if (!cp)      goto db_prompt;   cp++;   offset = (unshort)atoh(cp);   cp = nextarg(cp);    /* see if user specified length to dump */   if (*cp)    /* cp should point to end of args or length */      length = atoh(cp);   else     /* no length on command line, set a reasonable default */      length = 16;   hexdump(pio,_MK_FP(seg, offset), length);   return 0;db_prompt:     /* prompt user for correct format */   ns_printf(pio,"enter memory location in hex seg:offset form, followed by optional length.\n");   return -1;}#else    /* SEG16_16 *//* FUNCTION: dump_bytes() * * flat memory version of dump_bytes() *  * PARAM1: void * pio * * RETURNS:  */intdump_bytes(void * pio){   char *   cp;   unsigned int address;   int   length;   cp = nextarg(((GEN_IO)pio)->inbuf);    /* see if user put addr on cmd line */   if (!*cp)      goto db_prompt;   address = atoh(cp);   cp = nextarg(cp);    /* see if user specified length to dump */   if (*cp)    /* cp should point to end of args or length */      length = atoh(cp);   else     /* no length on command line, set a reasonable default */      length = 16;   hexdump(pio,(void *) address, length);   return 0;db_prompt:     /* prompt user for correct format */   ns_printf(pio,"enter memory location in hex, followed by optional length.\n");   return -1;}#endif      /* SEG16_16 *//* FUNCTION: menu_exit() *  * PARAM1: void * pio * * RETURNS:  */intmenu_exit(void * pio){   USE_VOID(pio);#ifdef NTF   appexit(0);#else /* NTF */   netexit(0);    /* shut down hardware & exit to system */#endif /* NTF */   return 0;   /* keeps compiler from whining */}#ifdef UDPSTEST/* FUNCTION: udpecho() *  * PARAM1: void * pio * * RETURNS:  */int udpecho(void * pio){   long  times =  1;   char *   arg2;   arg2 = nextarg(((GEN_IO)pio)->inbuf);  /* get iteration arg from cmd line */   if (arg2 && *arg2)      times = atol(arg2);   if (times < 1)   {      ns_printf(pio,"command line arg must be number of echos to send\n");      return -1;   }   if (activehost == 0L)   {      ns_printf(pio,"IP host to echo to must be set with \"host\" command\n");      return -1;   }   /* send echo - this prints it's own errors */   udp_sendecho(pio,activehost, deflength, times);   return 0;}#endif   /* UDPSTEST */#ifdef TCP_ECHOTEST/* FUNCTION: tcpecho() *  * PARAM1: void * pio * * RETURNS:  */int tcpecho(void * pio){   long  times =  1;   char *   arg2;   arg2 = nextarg(((GEN_IO)pio)->inbuf);  /* get iteration arg from cmd line */   if (arg2 && *arg2)      times = atol(arg2);   if (times < 1)   {      ns_printf(pio,"command line arg must be number of echos to send\n");      return -1;   }   if (activehost == 0L)   {      ns_printf(pio,"IP host to echo to must be set with \"host\" command\n");      return -1;   }   /* send echo - this prints it's own errors */   tcp_sendecho(pio,activehost, (long)deflength, times);   return 0;}#endif   /* TCP_ECHOTEST */#ifdef IP_ROUTINGchar *   route_prots[] ={   "foo",   "OTHER",   "LOCAL",   "NETMGT",   "ICMP",   "EGP",   "GGP",   "HELLO",   "RIP",};#ifdef BTREE_ROUTES/* FUNCTION: btree_routes() *  * Helper function for displaying routes in the binary tree. A pointer to * this is passed to avldepthfirst(); * * PARAM1: current RtMib * PARAM2: pointer to pio * PARAM3: depth in tree * * RETURNS:  */static int brtcount;voidbtree_routes(struct avl_node * node, long param, int depth){   struct RtMib * rtp = (struct RtMib *)node;   void * pio = (void*)param;   brtcount++;   /* if this is first entry then display heading */   if(brtcount == 1)      ns_printf(pio,"..IPaddr.......mask.........nexthop...iface..type\n");   while(depth--)      ns_printf(pio, " ");   ns_printf(pio,"%u.%u.%u.%u  %u.%u.%u.%u  %u.%u.%u.%u  %d   %s\n",      PUSH_IPADDR(rtp->ipRouteDest),      PUSH_IPADDR(rtp->ipRouteMask),      PUSH_IPADDR(rtp->ipRouteNextHop),      (int)rtp->ipRouteIfIndex,      route_prots[(int)rtp->ipRouteProto]);}#endif   /* BTREE_ROUTES */#ifndef NTF/* FUNCTION: show_routes() *  * PARAM1: void * pio * * RETURNS:  */int show_routes(void * pio){   int   rtcount  =  0;#ifdef BTREE_ROUTES   brtcount = 0;   avldepthfirst((struct avl_node *)rt_mib, btree_routes, (long)pio, 0);   rtcount = brtcount;#else /* not BTREE_ROUTES */   RTMIB rtp;   if(!rt_mib)    /* system not fully up yet */      return -1;   for (rtp = rt_mib; rtp < rt_mib + ipRoutes; rtp++)   {      if (!rtp->ipRouteNextHop)  /* empty slot */         continue;      rtcount++;      if (rtcount == 1)         ns_printf(pio,"..IPaddr.......mask.........nexthop...iface..type\n");      ns_printf(pio,"%u.%u.%u.%u  %u.%u.%u.%u  %u.%u.%u.%u  %d   %s\n",       PUSH_IPADDR(rtp->ipRouteDest),       PUSH_IPADDR(rtp->ipRouteMask),       PUSH_IPADDR(rtp->ipRouteNextHop),       (int)rtp->ipRouteIfIndex,       route_prots[(int)rtp->ipRouteProto]);   }#endif   /* BTREE_ROUTES */   if (rtcount == 0)      ns_printf(pio,"no IP routes set\n");   return 0;}/* FUNCTION: mn_add_route() * * menu routine to manually add a route. format is target.ip  * target.mask next.hop iface.  * *  * PARAM1: void * pio * * RETURNS:  */int mn_add_route(void * pio){   char *   cp;      /* text for interface index */   int      ifindex; /* value of interface index */   unsigned snbits;   int      i;   char *   errmsg;   RTMIB    rtp;   NET      ifp;   struct ip_args   {  /* for reading in IP addresses from console buf */      char *   text;      ip_addr  ipaddr;   }  ipargs[4];   cp = nextarg(((GEN_IO)pio)->inbuf);    /* start of command line args */   for (i = 0; i <= 3; i++)   /* read in 4 args */   {      ipargs[i].text = cp;      if (i == 3) /* last arg is not an IP address, so we're done */         break;      /* null terminate IP address arg */      cp = strchr(ipargs[i].text, ' ');      if (cp)      {         *cp++ = '\0';  /* terminate this arg */         while (*cp == ' ')cp++; /* find next arg */            }      else  /* no space after arg == bogus command line */      {         ns_printf(pio,"usage: target.ip target.mask next.hop iface \n");         ns_printf(pio," where 1st 3 parms are in IP dot notation, last is digit 1-%d\n",          ifNumber);         return -1;      }      /* call parse_ipad to fill in IP address from text */      errmsg = parse_ipad(&ipargs[i].ipaddr, &snbits, ipargs[i].text);      if (errmsg)      {         ns_printf(pio,"bad IP format \"%s\" in arg %d, \n problem: %s\n",           ipargs[i].text, i, errmsg);         return -1;      }   }   ifp = if_netbytext(pio, ipargs[i].text);   if (ifp == NULL)      return -1;   else      ifindex = if_netnumber(ifp);      rtp = add_route(ipargs[0].ipaddr, ipargs[1].ipaddr, ipargs[2].ipaddr,      ifindex, IPRP_LOCAL);   if (!rtp)   {      ns_printf(pio,"add_route failed, table full?\n");      return -1;   }   return 0;}#endif   /* IP_ROUTING */#ifdef DNS_CLIENT#ifdef IP_V6/* FUNCTION: gethost2test() * * Resolve a host name to IP address via a call to gethostbyname2() * * PARAM1: void *pio * * RETURNS:  */intgethost2test(void * pio){   char *   cp;   struct hostent *  p;   /* see if user put name on cmd line */   cp = nextarg(((GEN_IO)pio)->inbuf);   if (!cp || !*cp)   {      ns_printf(pio, "usage: ns2lookup host_name\n");      return -1;   }   /* call gethostbyname() to resolve the passed name */   p = gethostbyname2(cp, AF_INET6);   if (!p)   {      ns_printf(pio,"gethostbyname2() returned NULL\n");      return 0;   }   ns_printf(pio,"gethostbyname2() succeeded\n");   ns_printf(pio," h_name is %s\n",p->h_name ? p->h_name : "NULL");   ns_printf(pio," h_addrtype = %d\n",p->h_addrtype);   ns_printf(pio," h_length = %d\n",p->h_length);   ns_printf(pio," h_addr_list are\n");   if (!(p->h_addr_list))      ns_printf(pio,"\tno addresses\n");   else   {      char ** cpp;      for(cpp = p->h_addr_list; *cpp; cpp++)      {         char ip6buf[40];     /* tmp buffer for ipv6 address text */         ns_printf(pio,"\t%s\n",  print_ip6((struct in6_addr *)(*cpp), ip6buf));      }   }   return 0;}#endif   /* IP_V6 *//* FUNCTION: gethostbynametest() * * Resolve a host name to IP address via a call to gethostbyname() * * PARAM1: void *pio * * RETURNS:  */intgethostbynametest(void * pio){   char *   cp;   struct hostent *  p;   /* see if user put name on cmd line */   cp = nextarg(((GEN_IO)pio)->inbuf);   if (!cp || !*cp)   {      ns_printf(pio, "usage: nslookup host_name\n");      return -1;   }   /* call gethostbyname() to resolve the passed name */   p = gethostbyname(cp);   if (!p)   {      ns_printf(pio,"gethostbyname() returned NULL\n");      return 0;   }   ns_printf(pio,"gethostbyname() succeeded\n");   ns_printf(pio,"h_name is %s\n",p->h_name ? p->h_name : "NULL");   ns_printf(pio,"h_addrtype = %d\n",p->h_addrtype);   ns_printf(pio,"h_length = %d\n",p->h_length);   ns_printf(pio,"h_addr_list are\n");   if (!(p->h_addr_list))      ns_printf(pio,"\tno addresses\n");   else   {      char ** cpp;      u_char * ucp;      for(cpp = p->h_addr_list; *cpp; cpp++)      {         ucp = (unsigned char *) (*cpp);         ns_printf(pio,"\t%d.%d.%d.%d\n",          *ucp, *(ucp + 1), *(ucp + 2), *(ucp + 3));      }   }   return 0;}/* FUNCTION: setdnssvr() *  * Allows console user to set a DNS Server's IP address. Useful for testing  * the DNS Client. * * PARAM1: void * pio * * RETURNS: 0 on success, or an error code of -1. */int setdnssvr(void * pio){   char * cp;   char * iptext;   unsigned int subnet;     /* dummy for passing to parse_ipad() */   int   svr_num;   cp = nextarg(((GEN_IO)pio)->inbuf);    /* see if user put addr on cmd line */   if (!*cp)   {      ns_printf(pio, "usage: setdnssvr X.X.X.X [Server No. (1-%d)]\n", MAXDNSSERVERS);      return -1;   }   iptext = cp;   /* save pointer to IP spec */   cp = nextarg(cp); /* see if user specified server number */   if (*cp)   {      svr_num = atoi(cp);      if (svr_num < 1 || svr_num > MAXDNSSERVERS)      {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美videossexotv100| 日本v片在线高清不卡在线观看| 亚洲综合激情网| 国产一区二区在线看| 在线看国产一区| 中文字幕一区二区5566日韩| 老司机精品视频在线| 欧美亚洲国产bt| 亚洲欧洲99久久| 国产精品自拍一区| 91精品国产免费| 亚洲一区免费视频| 成人免费视频国产在线观看| 日韩欧美激情在线| 午夜精品一区二区三区三上悠亚| 波多野结衣91| 日本一区二区三区久久久久久久久不 | 床上的激情91.| 日韩三级在线免费观看| 亚洲国产精品影院| 色中色一区二区| 综合欧美亚洲日本| 成人激情免费电影网址| 久久综合久久综合亚洲| 奇米在线7777在线精品 | 欧美老肥妇做.爰bbww视频| 综合欧美亚洲日本| 91在线免费播放| 1区2区3区国产精品| 成人国产精品免费观看视频| 国产婷婷色一区二区三区| 精品中文字幕一区二区| 精品播放一区二区| 麻豆91精品91久久久的内涵| 日韩视频免费观看高清完整版在线观看| 亚洲福利视频三区| 欧美精品v国产精品v日韩精品 | 国产精品色眯眯| 丁香一区二区三区| 国产精品国产自产拍高清av| 在线看国产一区二区| 亚洲精品视频免费观看| 色999日韩国产欧美一区二区| 一区二区三区欧美视频| 欧美三级视频在线| 久久er99热精品一区二区| 欧美精品一区二区三区四区 | 欧美性感一类影片在线播放| 亚洲男人的天堂在线观看| 日本电影亚洲天堂一区| 天天综合色天天| 日韩欧美一二三区| 国产sm精品调教视频网站| 亚洲视频在线观看三级| 91福利区一区二区三区| 日韩高清不卡在线| 久久精品亚洲乱码伦伦中文| 一本一道波多野结衣一区二区| 天使萌一区二区三区免费观看| 日韩精品中文字幕一区| 成人性生交大合| 亚洲线精品一区二区三区八戒| 日韩三级视频在线看| 91在线观看免费视频| 日韩精品一区第一页| 欧美激情一二三区| 欧美日韩精品欧美日韩精品 | 激情小说亚洲一区| 亚洲免费在线看| 亚洲精品一区二区精华| 99麻豆久久久国产精品免费| 亚洲国产精品久久人人爱| 26uuu久久天堂性欧美| 91免费版在线| 久久99精品久久久久婷婷| 国产精品九色蝌蚪自拍| 日韩欧美视频在线| 色综合久久88色综合天天6| 久久精品99久久久| 夜夜亚洲天天久久| 精品久久久网站| 欧美视频完全免费看| 国产老女人精品毛片久久| 亚洲在线成人精品| 中文字幕av资源一区| 欧美一区二区免费观在线| 99久久精品99国产精品| 国产一区二区91| 日韩av中文在线观看| 亚洲男人天堂av网| 国产精品免费视频一区| 26uuu精品一区二区| 911精品国产一区二区在线| www.在线欧美| 懂色av一区二区三区蜜臀| 成人黄页毛片网站| 狠狠色狠狠色综合系列| 亚洲成人av福利| 亚洲黄色免费电影| 成人免费在线播放视频| 国产欧美一区二区三区在线老狼| 91麻豆精品国产91久久久久 | 亚洲精品在线免费播放| 制服.丝袜.亚洲.另类.中文| 91久久精品一区二区三区| 国产盗摄精品一区二区三区在线| 免费成人av在线| 日本午夜一本久久久综合| 香蕉影视欧美成人| 亚洲在线成人精品| 亚洲va天堂va国产va久| 亚洲综合色在线| 亚洲国产欧美在线| 亚洲制服欧美中文字幕中文字幕| 一区二区三区加勒比av| 一区二区在线观看视频在线观看| 国产视频亚洲色图| 国产精品美女视频| 亚洲欧洲色图综合| 亚洲日本va在线观看| 一区二区三区在线免费| 亚洲人精品午夜| 亚洲观看高清完整版在线观看| 国产精品高潮久久久久无| 亚洲欧洲日产国码二区| 日本一区二区三区dvd视频在线| 国产日韩欧美精品综合| 国产精品欧美综合在线| 麻豆91在线观看| 日日夜夜免费精品| 狂野欧美性猛交blacked| 狠狠色狠狠色合久久伊人| 福利一区二区在线观看| 91激情在线视频| 欧美精品vⅰdeose4hd| 337p日本欧洲亚洲大胆色噜噜| 26uuu国产日韩综合| 国产精品三级av| 亚洲一区二区三区三| 免费人成黄页网站在线一区二区| 国内欧美视频一区二区 | 狠狠久久亚洲欧美| 成人网男人的天堂| 欧美日韩国产小视频在线观看| 精品美女一区二区三区| 中文字幕日韩精品一区| 五月婷婷激情综合网| 国内精品免费**视频| 91香蕉视频在线| 日韩免费电影一区| 亚洲日韩欧美一区二区在线| 天天色天天操综合| 成人app在线| 欧美一区二区三区视频| 国产精品麻豆99久久久久久| 亚洲综合视频网| 国产精品自拍毛片| 欧美精品久久一区二区三区| 久久久久久久久岛国免费| 亚洲午夜激情网站| 国产精品一二三区在线| 欧美精品第一页| 国产精品久久久久久亚洲伦| 青青草97国产精品免费观看 | 一区二区国产盗摄色噜噜| 美女视频黄免费的久久| 色欧美88888久久久久久影院| 精品久久久久久亚洲综合网| 亚洲人成伊人成综合网小说| 国产在线播放一区三区四| 欧美视频在线不卡| 亚洲欧洲精品一区二区精品久久久 | 午夜久久久影院| www.激情成人| 久久久久99精品一区| 日韩影院在线观看| 欧美视频一区二区三区在线观看| 日本一区免费视频| 国产伦精品一区二区三区在线观看| 欧美日韩精品一二三区| 亚洲最新视频在线播放| av亚洲精华国产精华| 久久久久97国产精华液好用吗| 免费亚洲电影在线| 欧美欧美欧美欧美| 午夜精品福利一区二区三区av | 亚洲欧洲成人av每日更新| 国产精品一级黄| 国产视频一区不卡| 国产精品一区二区x88av| www国产成人| 国产精选一区二区三区| 欧美精品一区二区三区视频| 六月丁香婷婷久久| 日韩一二三四区| 久久国产精品99久久久久久老狼| 欧美高清视频www夜色资源网| 亚洲成人免费看| 欧美日韩国产天堂| 日本欧美一区二区在线观看|