⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netdev.h

📁 klibc精简化的c程序库
💻 H
字号:
#ifndef IPCONFIG_NETDEV_H#define IPCONFIG_NETDEV_H#include <sys/utsname.h>#include <net/if.h>#define BPLEN		40#define FNLEN		128			/* from DHCP  RFC 2131 */struct netdev {	const char *name;	/* Device name          */	unsigned int ifindex;	/* interface index      */	unsigned int hwtype;	/* ARPHRD_xxx           */	unsigned int hwlen;	/* HW address length    */	uint8_t hwaddr[16];	/* HW address           */	uint8_t hwbrd[16];	/* Broadcast HW address */	unsigned int mtu;	/* Device mtu           */	unsigned int caps;	/* Capabilities         */	time_t open_time;	struct {		/* BOOTP/DHCP info      */		int fd;		uint32_t xid;		uint32_t gateway; /* BOOTP/DHCP gateway   */	} bootp;	struct {		/* RARP information     */		int fd;	} rarp;	uint32_t ip_addr;	/* my address           */	uint32_t ip_broadcast;	/* broadcast address    */	uint32_t ip_server;	/* server address       */	uint32_t ip_netmask;	/* my subnet mask       */	uint32_t ip_gateway;	/* my gateway           */	uint32_t ip_nameserver[2];	/* two nameservers      */	uint32_t serverid;		/* dhcp serverid        */	char hostname[SYS_NMLN];	/* hostname             */	char dnsdomainname[SYS_NMLN];	/* dns domain name      */	char nisdomainname[SYS_NMLN];	/* nis domain name      */	char bootpath[BPLEN];	/* boot path            */	char filename[FNLEN];   /* filename             */	struct netdev *next;	/* next configured i/f  */};extern struct netdev *ifaces;/* * Device capabilities */#define CAP_BOOTP	(1<<0)#define CAP_DHCP	(1<<1)#define CAP_RARP	(1<<2)/* * Device states */#define DEVST_UP	0#define DEVST_BOOTP	1#define DEVST_DHCPDISC	2#define DEVST_DHCPREQ	3#define DEVST_COMPLETE	4#define DEVST_ERROR	5int netdev_getflags(struct netdev *dev, short *flags);int netdev_setaddress(struct netdev *dev);int netdev_setdefaultroute(struct netdev *dev);int netdev_up(struct netdev *dev);int netdev_down(struct netdev *dev);int netdev_init_if(struct netdev *dev);int netdev_setmtu(struct netdev *dev);static inline int netdev_running(struct netdev *dev){	short flags;	int ret = netdev_getflags(dev, &flags);	return ret ? 0 : !!(flags & IFF_RUNNING);}#endif /* IPCONFIG_NETDEV_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -