Magellan Linux

Diff of /trunk/mkinitrd-magellan/busybox/networking/udhcp/options.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 983 by niro, Fri Apr 24 18:33:46 2009 UTC revision 984 by niro, Sun May 30 11:32:42 2010 UTC
# Line 1  Line 1 
1  /* vi: set sw=4 ts=4: */  /* vi: set sw=4 ts=4: */
2  /* options.h */  /* options.h */
3  #ifndef _OPTIONS_H  #ifndef UDHCP_OPTIONS_H
4  #define _OPTIONS_H  #define UDHCP_OPTIONS_H 1
5    
6  #if __GNUC_PREREQ(4,1)  PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
 # pragma GCC visibility push(hidden)  
 #endif  
7    
8  #define TYPE_MASK 0x0F  #define TYPE_MASK       0x0F
9    
10  enum {  enum {
11   OPTION_IP = 1,   OPTION_IP = 1,
# Line 21  enum { Line 19  enum {
19   OPTION_U16,   OPTION_U16,
20   OPTION_S16,   OPTION_S16,
21   OPTION_U32,   OPTION_U32,
22   OPTION_S32   OPTION_S32,
23     OPTION_STATIC_ROUTES,
24  };  };
25    
26  #define OPTION_REQ 0x10 /* have the client request this option */  /* Client requests this option by default */
27  #define OPTION_LIST 0x20 /* There can be a list of 1 or more of these */  #define OPTION_REQ      0x10
28    /* There can be a list of 1 or more of these */
29    #define OPTION_LIST     0x20
30    
31  /*****************************************************************/  /*****************************************************************/
32  /* Do not modify below here unless you know what you are doing!! */  /* Do not modify below here unless you know what you are doing!! */
# Line 34  enum { Line 35  enum {
35  /* DHCP protocol -- see RFC 2131 */  /* DHCP protocol -- see RFC 2131 */
36  #define DHCP_MAGIC 0x63825363  #define DHCP_MAGIC 0x63825363
37    
   
38  /* DHCP option codes (partial list) */  /* DHCP option codes (partial list) */
39  #define DHCP_PADDING 0x00  #define DHCP_PADDING            0x00
40  #define DHCP_SUBNET 0x01  #define DHCP_SUBNET             0x01
41  #define DHCP_TIME_OFFSET 0x02  #define DHCP_TIME_OFFSET        0x02
42  #define DHCP_ROUTER 0x03  #define DHCP_ROUTER             0x03
43  #define DHCP_TIME_SERVER 0x04  #define DHCP_TIME_SERVER        0x04
44  #define DHCP_NAME_SERVER 0x05  #define DHCP_NAME_SERVER        0x05
45  #define DHCP_DNS_SERVER 0x06  #define DHCP_DNS_SERVER         0x06
46  #define DHCP_LOG_SERVER 0x07  #define DHCP_LOG_SERVER         0x07
47  #define DHCP_COOKIE_SERVER 0x08  #define DHCP_COOKIE_SERVER      0x08
48  #define DHCP_LPR_SERVER 0x09  #define DHCP_LPR_SERVER         0x09
49  #define DHCP_HOST_NAME 0x0c  #define DHCP_HOST_NAME          0x0c
50  #define DHCP_BOOT_SIZE 0x0d  #define DHCP_BOOT_SIZE          0x0d
51  #define DHCP_DOMAIN_NAME 0x0f  #define DHCP_DOMAIN_NAME        0x0f
52  #define DHCP_SWAP_SERVER 0x10  #define DHCP_SWAP_SERVER        0x10
53  #define DHCP_ROOT_PATH 0x11  #define DHCP_ROOT_PATH          0x11
54  #define DHCP_IP_TTL 0x17  #define DHCP_IP_TTL             0x17
55  #define DHCP_MTU 0x1a  #define DHCP_MTU                0x1a
56  #define DHCP_BROADCAST 0x1c  #define DHCP_BROADCAST          0x1c
57  #define DHCP_NTP_SERVER 0x2a  #define DHCP_NTP_SERVER         0x2a
58  #define DHCP_WINS_SERVER 0x2c  #define DHCP_WINS_SERVER        0x2c
59  #define DHCP_REQUESTED_IP 0x32  #define DHCP_REQUESTED_IP       0x32
60  #define DHCP_LEASE_TIME 0x33  #define DHCP_LEASE_TIME         0x33
61  #define DHCP_OPTION_OVER 0x34  #define DHCP_OPTION_OVERLOAD    0x34
62  #define DHCP_MESSAGE_TYPE 0x35  #define DHCP_MESSAGE_TYPE       0x35
63  #define DHCP_SERVER_ID 0x36  #define DHCP_SERVER_ID          0x36
64  #define DHCP_PARAM_REQ 0x37  #define DHCP_PARAM_REQ          0x37
65  #define DHCP_MESSAGE 0x38  #define DHCP_MESSAGE            0x38
66  #define DHCP_MAX_SIZE 0x39  #define DHCP_MAX_SIZE           0x39
67  #define DHCP_T1 0x3a  #define DHCP_T1                 0x3a
68  #define DHCP_T2 0x3b  #define DHCP_T2                 0x3b
69  #define DHCP_VENDOR 0x3c  #define DHCP_VENDOR             0x3c
70  #define DHCP_CLIENT_ID 0x3d  #define DHCP_CLIENT_ID          0x3d
71  #define DHCP_FQDN 0x51  #define DHCP_FQDN               0x51
72  #define DHCP_END 0xFF  #define DHCP_STATIC_ROUTES      0x79
73    #define DHCP_END                0xFF
74    /* Offsets in option byte sequence */
75  #define BOOTREQUEST 1  #define OPT_CODE                0
76  #define BOOTREPLY 2  #define OPT_LEN                 1
77    #define OPT_DATA                2
78  #define ETH_10MB 1  /* Bits in "overload" option */
79  #define ETH_10MB_LEN 6  #define OPTION_FIELD            0
80    #define FILE_FIELD              1
81  #define DHCPDISCOVER 1 /* client -> server */  #define SNAME_FIELD             2
82  #define DHCPOFFER 2 /* client <- server */  
83  #define DHCPREQUEST 3 /* client -> server */  #define BOOTREQUEST             1
84  #define DHCPDECLINE 4 /* client -> server */  #define BOOTREPLY               2
85  #define DHCPACK 5 /* client <- server */  
86  #define DHCPNAK 6 /* client <- server */  #define ETH_10MB                1
87  #define DHCPRELEASE 7 /* client -> server */  #define ETH_10MB_LEN            6
88  #define DHCPINFORM 8 /* client -> server */  
89    #define DHCPDISCOVER            1 /* client -> server */
90  #define OPTION_FIELD 0  #define DHCPOFFER               2 /* client <- server */
91  #define FILE_FIELD 1  #define DHCPREQUEST             3 /* client -> server */
92  #define SNAME_FIELD 2  #define DHCPDECLINE             4 /* client -> server */
93    #define DHCPACK                 5 /* client <- server */
94  /* miscellaneous defines */  #define DHCPNAK                 6 /* client <- server */
95  #define OPT_CODE 0  #define DHCPRELEASE             7 /* client -> server */
96  #define OPT_LEN 1  #define DHCPINFORM              8 /* client -> server */
 #define OPT_DATA 2  
97    
98  struct dhcp_option {  struct dhcp_option {
99   uint8_t flags;   uint8_t flags;
# Line 105  extern const struct dhcp_option dhcp_opt Line 104  extern const struct dhcp_option dhcp_opt
104  extern const char dhcp_option_strings[];  extern const char dhcp_option_strings[];
105  extern const uint8_t dhcp_option_lengths[];  extern const uint8_t dhcp_option_lengths[];
106    
107  uint8_t *get_option(struct dhcpMessage *packet, int code) FAST_FUNC;  uint8_t *get_option(struct dhcp_packet *packet, int code) FAST_FUNC;
108  int end_option(uint8_t *optionptr) FAST_FUNC;  int end_option(uint8_t *optionptr) FAST_FUNC;
109  int add_option_string(uint8_t *optionptr, uint8_t *string) FAST_FUNC;  int add_option_string(uint8_t *optionptr, uint8_t *string) FAST_FUNC;
110  int add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data) FAST_FUNC;  int add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data) FAST_FUNC;
# Line 114  char *dname_dec(const uint8_t *cstr, int Line 113  char *dname_dec(const uint8_t *cstr, int
113  uint8_t *dname_enc(const uint8_t *cstr, int clen, const char *src, int *retlen) FAST_FUNC;  uint8_t *dname_enc(const uint8_t *cstr, int clen, const char *src, int *retlen) FAST_FUNC;
114  #endif  #endif
115    
116  #if __GNUC_PREREQ(4,1)  POP_SAVED_FUNCTION_VISIBILITY
 # pragma GCC visibility pop  
 #endif  
117    
118  #endif  #endif

Legend:
Removed from v.983  
changed lines
  Added in v.984