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

📄 dhcpc.h

📁 vxworks 6.x 的全部头文件
💻 H
字号:
/* dhcpc.h - DHCP runtime client include file for shared definitions *//* Copyright 1984 - 2004 Wind River Systems, Inc. *//*modification history---------------------01q,20aug04,rp   merged from COMP_WN_IPV6_BASE6_ITER5_TO_UNIFIED_PRE_MERGE01p,15mar04,ann  merged from orion to create the MSP base.01o,04nov03,rlm  Ran batch header path update for header re-org.01n,03nov03,rlm  Removed wrn/coreip/ prefix from #includes for header re-org.01m,23oct03,rlm  updated #includes for header re-org01l,22aug02,wap  merge from T2.201k,12dec01,wap  Interface name field of if_info structure is too small for                 some interface names (SPR #29087)01j,31oct01,vvv  fixed warnings when BOOTP and DHCP are included in image01i,09oct01,rae  merge from truestack ver 01b/2 base 01h (SPRs 69850, 68014)01h,05apr00,spm  removed unused offset (BPF provides required alignment)01g,24nov99,spm  upgraded to RFC 2131 and removed direct link-level access01f,06oct97,spm  split interface name into device name and unit number01e,06aug97,spm  removed parameters linked list to reduce memory required;                 added definitions for C++ compilation; renamed class field                 of dhcp_reqspec structure to prevent C++ errors (SPR #9079)01d,02jun97,spm  changed DHCP option tags to prevent name conflicts (SPR #8667)01c,07apr97,spm  removed #define's now in configAll.h, changed router_solicit                 field in parameter descriptor from pointer to structure01b,03jan97,spm  added little-endian support and moved macros to dhcp.h01a,03oct96,spm  created by modifying WIDE project DHCP implementation*/#ifndef __INCdhcpch#define __INCdhcpch#ifdef __cplusplusextern "C" {#endif#include <wdLib.h>#include <netinet/in.h>#include <netinet/if_ether.h>#include <dhcp/dhcp.h>#include <dhcp/copyright_dhcp.h>#define ETHERHL    sizeof(struct ether_header)#ifndef IPHL#define IPHL       sizeof(struct ip)#endif#ifndef UDPHL#define UDPHL      sizeof(struct udphdr)#endif#define WORD 		4 	/* Multiplier for IP header length field *//* Notification routine event types. */#define DHCPC_LEASE_NEW 0#define DHCPC_LEASE_INVALID 1/* DHCP client operations to access permanent storage. */#define DHCP_CACHE_READ 0#define DHCP_CACHE_WRITE 1#define DHCP_CACHE_ERASE 2#if CPU_FAMILY==I960#pragma align 1                 /* tell gcc960 not to optimize alignments */#endif  /* CPU_FAMILY==I960 */struct client_id    {    /*     * The DHCP client identifer consists of a string of characters.     * Typically, the client identifier contains a type value (from the     * hardware type values in the ARP section of the assigned numbers     * RFC) followed by the hardware address from the data link layer.     */    unsigned char       len;    char *              id;    };struct request_list    {    /*     * This structure defines the contents of the option request list, which     * consists of a sequence of DHCP option tags of the indicated length.     * A DHCP server may provide any, all, or none of the specified options     * to the requesting client.     */    u_char      len; 		/* Length of request list. */    char        list [0xff];     /* Storage for option tags. */    };struct vendor_list    {    /*     * This structure defines the components of vendor-specific information     * which may be returned by a DHCP server. The contents of that option     * are not defined by the DHCP specification.     */    u_char      len;            /* Amount of vendor-specific data. */    char        list [255];     /* Contents of vendor-specific data. */    };/*  * Request specification for DHCP lease - partially filled by  * dhcpcOptionSet() and/or dhcpcOptionAdd() routines. */struct dhcp_reqspec    {    u_short 		maxlen; 	/* Maximum supported DHCP message */    u_short 		optlen; 	/* Length of message's option field. */    int waitsecs;       /* Duration for collecting additional lease offers. */    struct in_addr      ipaddr;         /* Requested IP address */    struct in_addr      srvaddr;        /* IP address of DHCP server */    struct request_list reqlist;        /* List of requested options */    struct client_id *  clid;           /* Client identifier */    char *              dhcp_errmsg;    struct dhcpcOpts *  pOptList; 	/* Suggested values for options */    char * 		pOptions; 	/* Derived options field contents */    };struct in_addrs    {    /*     * This structure defines the components of a list of IP addresses.     * Some of the options provided by the DHCP server use this format.     */    unsigned char 	num; 	/* Number of IP addresses returned. */    struct in_addr * 	addr; 	/* IP address values. */    };struct u_shorts    {    /*     * This structure defines a list of 16-bit numbers used for some of     * the DHCP options.     */    unsigned char 	num; 		/* Number of 16-bit values returned. */    unsigned short * 	shortnum; 	/* List of values returned. */    };#define MAXTAGNUM     (_DHCP_LAST_OPTION + 1)#define OPTMASKSIZE     (MAXTAGNUM / 8 + 1 )/* Options storage structure - used by the dhcpcOptionAdd () routine. */struct dhcpcOpts    {    int 	optlen; 	/* Current total size of option data */    char 	optmask [OPTMASKSIZE]; 	/* indicates available entries */    ULONG 	tag1; 		/* subnet mask value */    long 	tag2; 		/* time offset value */    UCHAR * 	pTag3; 		/* router address values */    UCHAR * 	pTag4; 		/* time server address values */    UCHAR * 	pTag5; 		/* name server address values */    UCHAR * 	pTag6; 		/* domain name server address values */    UCHAR * 	pTag7; 		/* log server address values */    UCHAR * 	pTag8; 		/* cookie server address values */    UCHAR * 	pTag9; 		/* LPR server address values */    UCHAR * 	pTag10; 	/* Impress server address values */    UCHAR * 	pTag11; 	/* Resource location server address values */    char * 	pTag12; 	/* Host name value */    USHORT 	tag13; 		/* Boot file size value */    char * 	pTag14; 	/* Merit dump file value */    char * 	pTag15; 	/* Domain name value */    ULONG 	tag16; 		/* Swap server value */    char * 	pTag17; 	/* Root path value */    char * 	pTag18; 	/* Extensions path value */    UCHAR 	tag19; 		/* IP Forwarding flag value */    UCHAR 	tag20; 		/* Non-local source routing flag value */    UCHAR * 	pTag21; 	/* Policy filter address/mask values */    USHORT 	tag22; 		/* Maximum datagram size value */    UCHAR 	tag23; 		/* Default IP TTL value */    ULONG 	tag24; 		/* Path MTU aging timeout value */    UCHAR * 	pTag25; 	/* Path MTU plateau table values */    USHORT 	tag26; 		/* MTU size value */    UCHAR 	tag27; 		/* All subnets local flag value */    ULONG 	tag28; 		/* Broadcast address value */    UCHAR 	tag29; 		/* Mask discovery flag value */    UCHAR	tag30; 		/* Mask supplier flag value */    UCHAR 	tag31; 		/* Router discovery flag value */    ULONG 	tag32; 		/* Router soliciation address value */    UCHAR * 	pTag33; 	/* Static route address/mask values */    UCHAR 	tag34; 		/* Trailer encapsulation flag value */    ULONG 	tag35; 		/* ARP cache timeout value */    UCHAR	tag36; 		/* Ethernet encapsulation flag value */    UCHAR 	tag37; 		/* Default TCP TTL value */    ULONG 	tag38; 		/* TCP keepalive interval value */    UCHAR 	tag39; 		/* TCP keepalive garbage octet flag value */    char * 	pTag40; 	/* NIS domain value */    UCHAR * 	pTag41; 	/* NIS server address values */    UCHAR * 	pTag42; 	/* NTP server address values */    UCHAR * 	pTag43; 	/* Vendor specific information value */    UCHAR * 	pTag44; 	/* NetBIOS name server address values */    UCHAR * 	pTag45; 	/* NBDD server address values */    UCHAR 	tag46; 		/* NetBIOS node type value */    char * 	pTag47; 	/* NetBIOS scope value */    UCHAR * 	pTag48; 	/* X Windows font server address values */    UCHAR * 	pTag49; 	/* X Windows display manager address values */     /* Tag 50 may not be set manually. */    ULONG 	tag51; 		/* Lease time value */     /* Tags 52, 53, 54 and 57 may not be set manually. */    UCHAR * 	pTag55; 	/* Parameter request list value */    char * 	pTag56; 	/* Error message value */    ULONG 	tag58; 		/* Renewal time value */    ULONG 	tag59; 		/* Rebinding time value */    UCHAR * 	pTag60; 	/* Class identifier value */    UCHAR * 	pTag61; 	/* Client identifier value */     /* Tags 62 and 63 are currently undefined. */    char * 	pTag64; 	/* NIS+ domain value */    UCHAR * 	pTag65; 	/* NIS+ server address values */    char * 	pTag66; 	/* TFTP server name value */    char * 	pTag67; 	/* Boot file name value */    UCHAR * 	pTag68; 	/* Mobile IP home agent address values */    UCHAR * 	pTag69; 	/* SMTP server address values */    UCHAR * 	pTag70; 	/* POP server address values */    UCHAR * 	pTag71; 	/* NNTP server address values */    UCHAR * 	pTag72; 	/* WWW server address values */    UCHAR * 	pTag73; 	/* Finger server address values */    UCHAR * 	pTag74; 	/* IRC server address values */    UCHAR * 	pTag75; 	/* StreetTalk server address values */    UCHAR * 	pTag76; 	/* STDA server address values */    };/* Parameter retrieval structure - used by the dhcpcParamsGet () routine. */struct dhcp_param    {    char        got_option [OPTMASKSIZE];    char        msgtype;                /* DHCP reply or BOOTP reply? */    char *      sname;                  /* Host name of DHCP server */    char *      temp_sname;    /* Server host name if 'sname' holds options. */    char *      file;                   /* Boot file name */    char *      temp_file;      /* File name if 'file' holds options. */    char *      hostname;               /* Host name of bootstrap server */    char *      merit_dump;    char *      dns_domain;    char *      root_path;    char *      extensions_path;    char *      nis_domain;    char *      nb_scope;               /* NetBIOS scope */    char *      errmsg;    char *      nisp_domain;            /* NIS+ domain name */    char *      tftp_server;            /* TFTP Server name */    unsigned char       ip_forward;     /* Boolean flag */    unsigned char       nonlocal_srcroute;      /* Boolean flag */    unsigned char       all_subnet_local;       /* Boolean flag */    unsigned char       mask_discover;          /* Boolean flag */    unsigned char       mask_supplier;          /* Boolean flag */    unsigned char       router_discover;        /* Boolean flag */    unsigned char       trailer;                /* Boolean flag */    unsigned char       ether_encap;            /* Boolean flag */    unsigned char       keepalive_garba;        /* Boolean flag */    unsigned char       nb_nodetype;            /* NetBIOS node type */#define BNODE 0x1#define PNODE 0x2#define MNODE 0x4#define HNODE 0x8    unsigned char       default_ip_ttl;         /* time to live (1 - 255) */    unsigned char       default_tcp_ttl;    unsigned short      bootsize;               /* bootfile size in 16 bits */    unsigned short      max_dgram_size;         /* max dgram reassembly */    unsigned short      intf_mtu;               /* interface mtu */    long        time_offset;            /* 32 bits integer (network byte order)                                                offset from UTC */    unsigned long       lease_origin;           /* DHCP lease start time */    unsigned long       lease_duration;         /* DHCP lease duration */    unsigned long       dhcp_t1;    unsigned long       dhcp_t2;    unsigned long       mtu_aging_timeout;      /* 32 bit unsigned integer */    unsigned long       arp_cache_timeout;    unsigned long       keepalive_inter;    struct u_shorts *   mtu_plateau_table;      /* array of 16 bit integers */    struct in_addr      server_id;              /* DHCP server's IP address */    struct in_addr      ciaddr;                 /* Client's current address */    struct in_addr      yiaddr;                 /* Client's assigned address */    struct in_addr      siaddr;                 /* Address of (tftp) server */    struct in_addr      giaddr;                 /* Address of relay agent */    struct in_addr *    subnet_mask;    struct in_addr *    swap_server;    struct in_addr *    brdcast_addr;    struct in_addr      router_solicit;    struct in_addrs *   router;    struct in_addrs *   time_server;    struct in_addrs *   name_server;    struct in_addrs *   dns_server;     /* DNS server */    struct in_addrs *   log_server;    struct in_addrs *   cookie_server;    struct in_addrs *   lpr_server;    struct in_addrs *   impress_server;    struct in_addrs *   rls_server;     /* Resource Location Server */    struct in_addrs *   policy_filter;    struct in_addrs *   static_route;    struct in_addrs *   nis_server;    struct in_addrs *   ntp_server;    struct in_addrs *   nbn_server;     /* NetBIOS name server */    struct in_addrs *   nbdd_server;    /* NetBIOS dgram distrib server */    struct in_addrs *   xfont_server;   /* X font erver */    struct in_addrs *   xdisplay_manager;       /* X display manager */    struct in_addrs *   nisp_server;    /* NIS+ server */    struct in_addrs *   mobileip_ha;    /* Mobile IP Home Agent */    struct in_addrs *   smtp_server;    struct in_addrs *   pop3_server;    struct in_addrs *   nntp_server;    struct in_addrs *   dflt_www_server;    struct in_addrs *   dflt_finger_server;    struct in_addrs *   dflt_irc_server;    struct in_addrs *   streettalk_server;    struct in_addrs *   stda_server;    /* StreetTalk Directory Assistance */    struct vendor_list * vendlist;      /* Vendor-specific information */    };struct chaddr     {    unsigned char 	htype;    unsigned char 	hlen;    char 		haddr[MAX_HLEN];    };struct if_info     {    char 		name [IFNAMSIZ];    short 		unit;    int 		bpfDev;     /* BPF file descriptor */    int 		bufSize;    /* Size of BPF data buffer */    struct chaddr 	haddr;    struct ifnet * 	iface;    };struct msg    {    struct ip *ip;    struct udphdr *udp;    struct dhcp *dhcp;    };#if CPU_FAMILY==I960#pragma align 0                 /* turn off alignment requirement */#endif  /* CPU_FAMILY==I960 */#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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