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

📄 if.h

📁 vxworks 6.x 的全部头文件
💻 H
📖 第 1 页 / 共 2 页
字号:
#define ADMIN_UP 1 /* for future use */#define ADMIN_DOWN 2 /* for future use *//*  *  * If admin status(RFC 2465) is ADMIN_BOOT/ADMIN_UP set the  * corresponding(v4/v6) interface flag. * Check for a valid ifa. For ipv6 should have  * atleast one (valid) ifa for which DAD has succeeded */#define IFF_INET_UPDATE(ifp) \if (ifp->admin_inet_status == ADMIN_UP || ifp->admin_inet_status == ADMIN_BOOT)\ 	   		{if (in_ifexists_ifa(ifp))							 \			(ifp)->if_flags |= IFF_INET_UP;} 	  							 \else 												 \	log(LOG_WARNING, "Admin status is down for IPv4 traffic on interface %s%d\n",ifp->if_name,ifp->if_unit);	\#define IFF_INET6_UPDATE(ifp) \if (ifp->admin_inet6_status == ADMIN_UP || ifp->admin_inet6_status == ADMIN_BOOT)\ 	   		{if (in6_ifexists_ifa(ifp))							 \			(ifp)->if_flags |= IFF_INET6_UP;} 	  							 \else 	\	log(LOG_WARNING, "Admin status is down for IPv6 traffic on interface %s%d\n",ifp->if_name,ifp->if_unit);	\/* * Message format for use in obtaining information about interfaces * from getkerninfo and the routing socket */struct if_msghdr {	u_short	ifm_msglen;	/* to skip over non-understood messages */	u_char	ifm_version;	/* future binary compatability */	u_char	ifm_type;	/* message type */	int	ifm_addrs;	/* like rtm_addrs */	int	ifm_flags;	/* value of if_flags */	u_short	ifm_index;	/* index for associated ifp */	struct	if_data ifm_data;/* statistics and other data about if */};/* * Message format for use in obtaining information about interface addresses * from getkerninfo and the routing socket */struct ifa_msghdr {	u_short	ifam_msglen;	/* to skip over non-understood messages */	u_char	ifam_version;	/* future binary compatability */	u_char	ifam_type;	/* message type */	int	ifam_addrs;	/* like rtm_addrs */	int	ifam_flags;	/* value of ifa_flags */	u_short	ifam_index;	/* index for associated ifp */	int	ifam_metric;	/* value of ifa_metric */};/* * Message format for use in obtaining information about multicast addresses * from the routing socket */struct ifma_msghdr {	u_short	ifmam_msglen;	/* to skip over non-understood messages */	u_char	ifmam_version;	/* future binary compatability */	u_char	ifmam_type;	/* message type */	int	ifmam_addrs;	/* like rtm_addrs */	int	ifmam_flags;	/* value of ifa_flags */	u_short	ifmam_index;	/* index for associated ifp */};/* * Message format announcing the arrival or departure of a network interface. */struct if_announcemsghdr {	u_short	ifan_msglen;	/* to skip over non-understood messages */	u_char	ifan_version;	/* future binary compatibility */	u_char	ifan_type;	/* message type */	u_short	ifan_index;	/* index for associated ifp */	char	ifan_name[IFNAMSIZ]; /* if name, e.g. "en0" */	u_short	ifan_what;	/* what type of announcement */};#define	IFAN_ARRIVAL	0	/* interface arrival */#define	IFAN_DEPARTURE	1	/* interface departure *//* * Interface request structure used for socket * ioctl's.  All interface ioctl's must have parameter * definitions which begin with ifr_name.  The * remainder may be interface specific. */struct sockaddr;struct	ifreq {	char	ifr_name[IFNAMSIZ];		/* if name, e.g. "en0" */	union {		struct	sockaddr ifru_addr;		struct	sockaddr ifru_dstaddr;		struct	sockaddr ifru_broadaddr;		long	ifru_flags[2];		int	ifru_metric;		int	ifru_mtu;		int	ifru_phys;		int	ifru_media;		caddr_t	ifru_data;		int	ifru_cap[2];	} ifr_ifru;#define	ifr_addr	ifr_ifru.ifru_addr	/* address */#define	ifr_dstaddr	ifr_ifru.ifru_dstaddr	/* other end of p-to-p link */#define	ifr_broadaddr	ifr_ifru.ifru_broadaddr	/* broadcast address */#define	ifr_flags	ifr_ifru.ifru_flags[0]	/* flags (low 16 bits) */#define	ifr_flagshigh	ifr_ifru.ifru_flags[1]	/* flags (high 16 bits) */#define	ifr_metric	ifr_ifru.ifru_metric	/* metric */#define	ifr_mtu		ifr_ifru.ifru_mtu	/* mtu */#define ifr_phys	ifr_ifru.ifru_phys	/* physical wire */#define ifr_media	ifr_ifru.ifru_media	/* physical media */#define	ifr_data	ifr_ifru.ifru_data	/* for use by interface */#define	ifr_reqcap	ifr_ifru.ifru_cap[0]	/* requested capabilities */#define	ifr_curcap	ifr_ifru.ifru_cap[1]	/* current capabilities */};#define	_SIZEOF_ADDR_IFREQ(ifr) \	((ifr).ifr_addr.sa_len > sizeof(struct sockaddr) ? \	 (sizeof(struct ifreq) - sizeof(struct sockaddr) + \	  (ifr).ifr_addr.sa_len) : sizeof(struct ifreq))struct ifaliasreq {	char	ifra_name[IFNAMSIZ];		/* if name, e.g. "en0" */	struct	sockaddr ifra_addr;	struct	sockaddr ifra_broadaddr;	struct	sockaddr ifra_mask;};struct ifmediareq {	char	ifm_name[IFNAMSIZ];	/* if name, e.g. "en0" */	int	ifm_current;		/* current media options */	int	ifm_mask;		/* don't care mask */	int	ifm_status;		/* media status */	int	ifm_active;		/* active options */	int	ifm_count;		/* # entries in ifm_ulist array */	int	*ifm_ulist;		/* media words */};/* * This structure is used to pass the data to in_control() for an address * delete request. The ifaliasreq structure has the address to be deleted * and 'detachFlag' indicates whether the interface is being detached. */struct ifdeladdrreq {	struct ifaliasreq ifr;	BOOL   detachFlag;};/*  * Structure used to retrieve aux status data from interfaces. * Kernel suppliers to this interface should respect the formatting * needed by ifconfig(8): each line starts with a TAB and ends with * a newline.  The canonical example to copy and paste is in if_tun.c. */#define	IFSTATMAX	800		/* 10 lines of text */struct ifstat {	char	ifs_name[IFNAMSIZ];	/* if name, e.g. "en0" */	char	ascii[IFSTATMAX + 1];};/* * Structure used in SIOCGIFCONF request. * Used to retrieve interface configuration * for machine (useful for programs which * must know all networks accessible). */struct	ifconf {	int	ifc_len;		/* size of associated buffer */	union {		caddr_t	ifcu_buf;		struct	ifreq *ifcu_req;	} ifc_ifcu;#define	ifc_buf	ifc_ifcu.ifcu_buf	/* buffer address */#define	ifc_req	ifc_ifcu.ifcu_req	/* array of structures returned */};/*  * Structure used in SIOCGMTU request. * Used to retrieve the MTU for point-to-multipoint devices. */typedef struct mtuQuery_t 	{	UCHAR family;	UINT32 dstIpAddr;	UINT32 mtu;	} MTU_QUERY;/* * Structure for SIOC[AGD]LIFADDR */struct if_laddrreq {	char	iflr_name[IFNAMSIZ];	u_int	flags;#define	IFLR_PREFIX	0x8000  /* in: prefix given  out: kernel fills id */	u_int	prefixlen;         /* in/out */	struct	sockaddr_storage addr;   /* in/out */	struct	sockaddr_storage dstaddr; /* out */};struct if_nameindex {	u_int	if_index;	/* 1, 2, ... */	char	*if_name;	/* null terminated name: "le0", ... */};u_int	 if_nametoindex __P((const char *));char	*if_indextoname __P((u_int, char *));struct	 if_nameindex *if_nameindex __P((void));void	 if_freenameindex __P((struct if_nameindex *));#ifdef _WRS_KERNELstruct proc;int	prison_if __P((struct proc *p, struct sockaddr *sa));#include <net/if_var.h>extern const char *if_name __P((struct ifnet *));#define IFAREF(ifa)     do { ++(ifa)->ifa_refcnt; } while (0)#endif /* _WRS_KERNEL */#ifdef __cplusplus}#endif    #endif /* !__INCifh */

⌨️ 快捷键说明

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