summaryrefslogtreecommitdiff
path: root/networking/udhcp/options.h
diff options
context:
space:
mode:
authorMike Frysinger2006-05-08 03:20:50 +0000
committerMike Frysinger2006-05-08 03:20:50 +0000
commit7031f62d9b750568b5e98bdb8c59c3c1a72e073d (patch)
treeb8d037a539281e7f7592e3045fa59e445495f603 /networking/udhcp/options.h
parent15fe2e11d7886d04450cabc8b40f0d396b6b6d85 (diff)
downloadbusybox-7031f62d9b750568b5e98bdb8c59c3c1a72e073d.zip
busybox-7031f62d9b750568b5e98bdb8c59c3c1a72e073d.tar.gz
add back in udhcp support
Diffstat (limited to 'networking/udhcp/options.h')
-rw-r--r--networking/udhcp/options.h38
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