diff options
author | Mike Frysinger | 2006-05-08 03:20:50 +0000 |
---|---|---|
committer | Mike Frysinger | 2006-05-08 03:20:50 +0000 |
commit | 7031f62d9b750568b5e98bdb8c59c3c1a72e073d (patch) | |
tree | b8d037a539281e7f7592e3045fa59e445495f603 /networking/udhcp/options.h | |
parent | 15fe2e11d7886d04450cabc8b40f0d396b6b6d85 (diff) | |
download | busybox-7031f62d9b750568b5e98bdb8c59c3c1a72e073d.zip busybox-7031f62d9b750568b5e98bdb8c59c3c1a72e073d.tar.gz |
add back in udhcp support
Diffstat (limited to 'networking/udhcp/options.h')
-rw-r--r-- | networking/udhcp/options.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/networking/udhcp/options.h b/networking/udhcp/options.h new file mode 100644 index 0000000..4948bac --- /dev/null +++ b/networking/udhcp/options.h @@ -0,0 +1,38 @@ +/* options.h */ +#ifndef _OPTIONS_H +#define _OPTIONS_H + +#include "packet.h" + +#define TYPE_MASK 0x0F + +enum { + OPTION_IP=1, + OPTION_IP_PAIR, + OPTION_STRING, + OPTION_BOOLEAN, + OPTION_U8, + OPTION_U16, + OPTION_S16, + OPTION_U32, + OPTION_S32 +}; + +#define OPTION_REQ 0x10 /* have the client request this option */ +#define OPTION_LIST 0x20 /* There can be a list of 1 or more of these */ + +struct dhcp_option { + char name[10]; + char flags; + uint8_t code; +}; + +extern struct dhcp_option dhcp_options[]; +extern int option_lengths[]; + +uint8_t *get_option(struct dhcpMessage *packet, int code); +int end_option(uint8_t *optionptr); +int add_option_string(uint8_t *optionptr, uint8_t *string); +int add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data); + +#endif |