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

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

?? nitdrive.c

?? wm PNE 3.3 source code, running at more than vxworks6.x version.
?? C
字號:
/* $Header: /usr/cvsroot/target/src/wrn/wm/demo/lib/nitdrive.c,v 1.4 2003/01/15 14:04:32 josh Exp $ *//* * Copyright (C) 1999-2005 Wind River Systems, Inc. * All rights reserved.  Provided under license only. * Distribution or other use of this software is only * permitted pursuant to the terms of a license agreement * from Wind River Systems (and is otherwise prohibited). * Refer to that license agreement for terms of use. *//**************************************************************************** *  Copyright 1994-1997 Epilogue Technology Corporation. *  Copyright 1998 Integrated Systems, Inc. *  All rights reserved. ****************************************************************************//* * $Log: nitdrive.c,v $ * Revision 1.4  2003/01/15 14:04:32  josh * directory structure shifting * * Revision 1.3  2001/11/08 15:56:23  tneale * Updated for newest file layout * * Revision 1.2  2001/11/06 20:11:12  josh * updating include paths to include proper path to layout directory * * Revision 1.1.1.1  2001/11/05 17:48:42  tneale * Tornado shuffle * * Revision 2.19  2001/01/19 22:23:47  paul * Update copyright. * * Revision 2.18  2000/10/20 18:32:25  paul * Properly conditionalized driver.ip_send * * Revision 2.17  2000/10/16 19:21:54  paul * Restore sockets and mempool code. * * Revision 2.16  2000/03/17 00:12:40  meister * Update copyright message * * Revision 2.15  2000/03/13 21:22:06  paul * Removed some code that we are no longer working on. * * Revision 2.14  1999/11/05 22:29:05  paul * Updated driver structs to reflect conditional backwards-compatibility * fields and new fields. * * Revision 2.13  1998/08/17 22:46:40  wes * Silence purify warning * * Revision 2.12  1998/07/31 19:45:48  wes * Put packet filtering into NIT driver... * * Revision 2.11  1998/04/16 17:29:56  wes * Enable use of ethernet media control * * Revision 2.10  1998/02/25 15:21:48  sra * Finish moving types.h, bug.h, and bugdef.h to common/h/. * * Revision 2.9  1998/02/25 04:57:28  sra * Update copyrights. * * Revision 2.8  1997/05/20 02:21:46  mrf * make snark lib driver code use new ldb arp definitions * * Revision 2.7  1997/05/07 17:23:35  mrf * move ipv6_send function to end of net_if structure * * Revision 2.5  1997/05/02 02:45:51  sra * Support NIT in promiscuous mode, for IPv6 multicast. * * Revision 2.4  1997/03/20 06:53:00  sra * DFARS-safe copyright text.  Zap! * * Revision 2.3  1997/02/25 10:58:16  sra * Update copyright notice, dust under the bed. * * Revision 2.2  1997/02/19 08:10:29  sra * More fun merging snmptalk into snark, general snark cleanup. * * Revision 2.1  1996/03/22 10:05:39  sra * Update copyrights prior to Attache 3.2 release. * * Revision 2.0  1995/05/10  22:38:15  sra * Attache release 3.0. * * Revision 1.3  1995/01/06  00:52:48  sra * Update copyright notice for 2.1 release. * * Revision 1.2  1994/09/04  06:13:38  sra * Clean up antique type names and install macros. * * Revision 1.1  1994/01/09  23:57:29  sra * Add support for NIT under SunOS 4.1.2. * *//* [clearcase]modification history-------------------01a,19apr05,job  update copyright notices*//* * Attache code for interfacing to ethernet via the Network Interface Tap * on SunOS 4.1.2. * * This file contains the Attache driver code for NIT. */#include <stdio.h>#include <unistd.h>#include <wrn/wm/attache/config.h>#include <wrn/wm/common/types.h>#include <wrn/wm/attache/mib.h>#include <wrn/wm/attache/timer.h>#include <wrn/wm/attache/packet.h>#include <wrn/wm/attache/net.h>#include <wrn/wm/attache/ether.h>#include <wrn/wm/attache/arp.h>#include <wrn/wm/attache/route.h>#include <wrn/wm/attache/glue.h>#include <wrn/wm/util/layout/ldbglue.h>#include <wrn/wm/util/layout/arp.h>#include <wrn/wm/demo/nit.h>#include <wrn/wm/demo/bsdif.h>#include <wrn/wm/demo/nitdrive.h>struct nit_driver_private {  bits8_t mac[6];		/* MAC address for this interface */};#define	TEN_MEGABITS	10000000/* * Routines to read (struct bsdif) generic network interface. */static void nit_driver_rcv  (unsigned char *buffer,   unsigned buflen,   unsigned netlen,   void *cookie){  packet *p;  if (buflen != netlen || (p = pkt_alloc(buflen + 2)) == 0)    return;  MEMCPY((p->pkt_data += 2), buffer, (p->pkt_datalen = buflen));  p->pkt_n = cookie;  et_rcv(p);}static void nit_driver_read (int fd, void *cookie, unsigned flags){  struct net *net = cookie;  if ((net->flags & NF_DRIVER_DOWN) == 0 && (flags & BSDIF_READ) != 0)    (void) nit_read(fd, net->driver->maxlen, nit_driver_rcv, net);}/* * Attache device driver routines for NIT. */static void nit_driver_init (struct net *net){  /* This prefix is from "obsolete" portion of DEC's space (see RFC-1340). */  static bits8_t nit_driver_mac_prefix[3] = { 0xAA, 0x00, 0x00 };  struct bsdif *bif = net->specific;  struct nit_driver_private *private;  char *name = net->s_name + STRLEN(net->driver->prefix);  net->flags |= NF_DRIVER_DOWN;  net->speed = TEN_MEGABITS;  if ((bif->private = private = GLUE_ALLOC(sizeof(*private))) == 0)    return;  /*   * Pick a MAC address to use.  If there's already one specified,   * use it.  Otherwise, if we're in 2.x backwards compatability mode and have   * an IP address, use it, otherwise try to generate something unique.   */  if (!net->h_address) {    net->ha_len = sizeof(private->mac);    net->h_address = private->mac;    MEMCPY(private->mac+0, nit_driver_mac_prefix, 3);    if (net->ip_addr) {      MEMCPY(private->mac + 3, ((bits8_t *) &net->ip_addr) + 1, 3);    } else {      extern int gethostid(void);            pid_t proc = getpid();      bits32_t hostid = gethostid();      private->mac[3] = (bits8_t) (proc      & 0xff);      private->mac[4] = (bits8_t) (proc >> 8 & 0xff);      private->mac[5] = (bits8_t) (hostid    & 0xff);    }  }  if ((bif->fd = nit_open(name, net->driver->maxlen, private->mac)) < 0)    return;  bif->handler = nit_driver_read;  bif->flags |= BSDIF_READ;  net->flags &= ~NF_DRIVER_DOWN;}static void nit_driver_send (struct packet *p){  struct bsdif *bif = p->pkt_n->specific;  /*   * Send the packet, logging any error that might occur.   * If the driver is down, just drop the packet.   */  if ((p->pkt_n->flags & NF_DRIVER_DOWN) == 0 &&       nit_write(bif->fd, p->pkt_data, p->pkt_datalen) < 0)    perror("NIT write() failure");  pkt_free(p);}static void nit_driver_close (struct net *net){  struct bsdif *bif = net->specific;  if ((net->flags & NF_DRIVER_DOWN) == 0) {    nit_close(bif->fd);    net->flags |= NF_DRIVER_DOWN;  }  if (bif->private) {    GLUE_FREE(bif->private);    bif->private = 0;  }}/* * This could be static now, but it might be useful to leave it visible. */struct driver nit_driver = {  nit_driver_init,		/* Interface initialization routine  */  nit_driver_send,		/* Raw packet send routine */#if INSTALL_ATTACHE_34_IPV4_API_COMPAT  et_ip_send,			/* IP packet send encapsulation routine */#else  0,#endif  et_arp_send,			/* ARP packet send encapsulation routine */  0,				/* Test routine (unused) */  nit_driver_close,		/* Interface close routine */  "nit",			/* Driver short name */  "Network Interface Tap Ethernet", /* Driver long name */  14,				/* Local net header length */  0,				/* Local net trailer length */  1514,				/* Ethernet frame size */  IF_ETHERNET,			/* MIB type of interfaces using this driver */  ARP_HEADER_HARDWARE_TYPE_is_ETHERNET,#if !INSTALL_ATTACHE_ETHERNET_NO_MEDIA_CTL  et_media_ctl,			/* Media control routine, if installed */#else  0,				/* No media_ctl routine */ #endif /* !INSTALL_ATTACHE_ETHERNET_NO_MEDIA_CTL */#if INSTALL_ATTACHE_IPV6  et_ipv6_send,			/* IPv6 send routine, if installed */#else  0,#endif#if INSTALL_ATTACHE_IPV4  et_ipv4_send			/* IPv4 send routine, if installed */#else  0#endif /* INSTALL_ATTACHE_IPV4 */};/* * Routines for finding NIT interface devices. * This is just a wrapper to add the Attache-specific things onto nit_find(). */struct nit_driver_find_state {  void (*config)(char *, struct driver *, int, bits16_t, unsigned, bits32_t);  int instance;};static void nit_driver_find_one(char *name, void *cookie){  struct nit_driver_find_state *state = cookie;  state->config(name, &nit_driver, state->instance++, NF_ARP,		nit_driver.maxlen - nit_driver.lnh - nit_driver.lnt,		TEN_MEGABITS);}void nit_driver_find  (void (*config)(char *, struct driver *, int, bits16_t, unsigned, bits32_t)){  struct nit_driver_find_state state;  state.config = config;  state.instance = 0;  nit_find(nit_driver_find_one, &state);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区视频在线| 精品美女一区二区三区| 亚洲人成精品久久久久久| 国产91精品久久久久久久网曝门 | 国产精品中文欧美| 欧美va日韩va| 国产九色精品成人porny| 国产三级欧美三级日产三级99 | 激情文学综合网| 国产午夜精品理论片a级大结局 | 处破女av一区二区| 国产精品日韩精品欧美在线| av一区二区三区在线| 亚洲精品免费播放| 3atv一区二区三区| 国产精品一二三区在线| 国产精品国产三级国产aⅴ无密码| 99久久精品免费看国产免费软件| 亚洲综合一区二区精品导航| 欧美日韩精品一区二区三区| 九九精品一区二区| 一区在线播放视频| www精品美女久久久tv| 国产精品18久久久久久久久 | 成人av小说网| 亚洲一区二区av电影| 日韩精品中文字幕在线一区| 国产成人综合亚洲91猫咪| 中文字幕五月欧美| 欧美一区二区免费视频| 国产盗摄女厕一区二区三区 | 在线免费视频一区二区| 日本不卡一区二区| 国产精品私房写真福利视频| 欧美影院精品一区| 国产美女精品人人做人人爽| 亚洲色图视频网站| 精品成人在线观看| 欧美亚一区二区| 国产黄色91视频| 午夜免费久久看| 国产精品久久久久久久岛一牛影视 | 久久久影院官网| 欧美最新大片在线看| 国产剧情一区二区三区| 五月综合激情日本mⅴ| 国产精品色婷婷| 日韩欧美色电影| 欧美性色黄大片手机版| 粉嫩av亚洲一区二区图片| 日本va欧美va欧美va精品| 国产精品网站在线观看| 日韩一区二区三区精品视频| 91啦中文在线观看| 成人妖精视频yjsp地址| 蜜臀av国产精品久久久久| 亚洲乱码中文字幕综合| 国产日韩欧美a| 精品美女在线观看| 9191久久久久久久久久久| 91女神在线视频| 国产**成人网毛片九色 | 国模冰冰炮一区二区| 五月开心婷婷久久| 亚洲一区二区视频| 亚洲色图都市小说| 国产精品视频一二| 久久久精品中文字幕麻豆发布| 制服.丝袜.亚洲.中文.综合| 色成年激情久久综合| 99久久免费国产| 波波电影院一区二区三区| 91在线视频播放地址| 国产精品18久久久久久久久久久久 | 国产欧美精品一区aⅴ影院| 欧美日韩国产片| 色综合天天性综合| 91一区二区三区在线播放| 成人污视频在线观看| 国产成人在线色| 国产精品中文字幕日韩精品| 国内精品不卡在线| 国模娜娜一区二区三区| 韩国欧美一区二区| 国产老妇另类xxxxx| 国产一区二区三区av电影 | 色偷偷成人一区二区三区91| 成人97人人超碰人人99| 成人小视频在线| 99久久久久久99| 在线亚洲高清视频| 欧美色综合网站| 欧美精选在线播放| 日韩午夜av电影| 精品精品欲导航| 久久久久久久久99精品| 国产日韩欧美制服另类| 亚洲欧美中日韩| 一区二区国产盗摄色噜噜| 亚洲午夜羞羞片| 免费成人在线网站| 国产精品羞羞答答xxdd| 97精品久久久久中文字幕| 欧美综合天天夜夜久久| 欧美一个色资源| 国产欧美日韩另类视频免费观看| 成人欧美一区二区三区| 亚洲综合在线电影| 蜜臀av性久久久久蜜臀aⅴ四虎| 国内精品免费**视频| 成人av在线一区二区| 欧日韩精品视频| 欧美精品一区二区三区蜜臀| 中文字幕一区二区在线播放| 亚洲一区二区三区中文字幕| 蜜桃视频一区二区三区| 成人性视频网站| 欧美日韩一区精品| 欧美精品一区二区三区蜜桃视频| 中文字幕一区二区三区色视频| 亚洲va欧美va人人爽| 国产在线不卡视频| 在线观看日韩电影| 精品国产乱码久久久久久图片 | 国产精品白丝在线| 婷婷成人综合网| 欧美色精品在线视频| 日韩一级黄色大片| 亚洲人成电影网站色mp4| 麻豆成人免费电影| 色哟哟精品一区| 久久综合资源网| 亚洲国产你懂的| 成人综合婷婷国产精品久久蜜臀| 欧美日韩国产一二三| 中文字幕欧美激情一区| 丝袜亚洲另类欧美综合| 成人app网站| 精品免费一区二区三区| 亚洲不卡av一区二区三区| 成人免费毛片高清视频| 日韩一二在线观看| 一级做a爱片久久| 高清shemale亚洲人妖| 欧美一级视频精品观看| 亚洲乱码国产乱码精品精可以看| 国产美女精品人人做人人爽| 欧美久久久久久久久| 亚洲免费观看高清完整版在线观看| 国内精品视频666| 欧美一区二区三区在线视频| 亚洲精选免费视频| 成人综合日日夜夜| 久久精品综合网| 久久99国内精品| 欧美一区二区三区视频在线| 亚洲精品精品亚洲| a亚洲天堂av| 中文字幕av不卡| 国产精品亚洲第一区在线暖暖韩国| 欧美一卡2卡3卡4卡| 无码av中文一区二区三区桃花岛| 一本久道久久综合中文字幕| 国产精品久久久久久一区二区三区 | 91蜜桃在线免费视频| 国产欧美日韩精品在线| 国产激情一区二区三区| 久久久久99精品一区| 国产精品羞羞答答xxdd| 久久婷婷色综合| 国产激情偷乱视频一区二区三区| 精品国产乱码久久久久久久| 久久精品999| 精品少妇一区二区三区| 紧缚奴在线一区二区三区| 精品欧美乱码久久久久久1区2区| 久久精品久久精品| 久久综合九色欧美综合狠狠| 国产真实乱对白精彩久久| 久久综合五月天婷婷伊人| 国产精品99久久久久久似苏梦涵 | 午夜在线成人av| 欧美日韩成人综合天天影院| 午夜激情一区二区三区| 日韩亚洲欧美综合| 韩国精品主播一区二区在线观看| 久久这里都是精品| 成人在线综合网| 亚洲乱码国产乱码精品精的特点| 欧美自拍偷拍一区| 日本美女一区二区三区| 精品国产欧美一区二区| 国产999精品久久久久久绿帽| 中文字幕日韩欧美一区二区三区| 91官网在线免费观看| 日韩精品午夜视频| 久久综合久久久久88| 99re这里都是精品| 午夜视频一区二区| 久久在线免费观看|