summaryrefslogtreecommitdiff
path: root/includes/tree.h
diff options
context:
space:
mode:
authorDavid Hankins <dhankins@isc.org>2006-06-01 20:23:18 +0000
committerDavid Hankins <dhankins@isc.org>2006-06-01 20:23:18 +0000
commitf7fdb21693ec2f2ef44d8e8bebc4609e4d7b67c7 (patch)
tree32c2431210e7b34feaf85d66f714ce928655a48d /includes/tree.h
parentee912528163bb70b3c0de65608f9d05fff03044d (diff)
downloadisc-dhcp-f7fdb21693ec2f2ef44d8e8bebc4609e4d7b67c7.tar.gz
- Varying option space code and length bit widths (8/16/32) are now
supported. This is a milestone in acheiving RFC 3925 "VIVSO" and DHCPv6 support. [ISC-Bugs #15979]
Diffstat (limited to 'includes/tree.h')
-rw-r--r--includes/tree.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/includes/tree.h b/includes/tree.h
index b12bc9ec..e70a6123 100644
--- a/includes/tree.h
+++ b/includes/tree.h
@@ -324,18 +324,22 @@ struct universe {
struct option_state *, struct option_state *,
struct binding_scope **,
struct universe *);
+ u_int32_t (*get_tag) (const unsigned char *);
void (*store_tag) PROTO ((unsigned char *, u_int32_t));
+ u_int32_t (*get_length) (const unsigned char *);
void (*store_length) PROTO ((unsigned char *, u_int32_t));
int tag_size, length_size;
- option_hash_t *hash;
- struct option *options [256];
+ unsigned end;
+ option_name_hash_t *name_hash;
+ option_code_hash_t *code_hash;
struct option *enc_opt;
int index;
};
struct option {
- const char *name;
- const char *format;
+ char *name;
+ char *format;
struct universe *universe;
unsigned code;
+ int refcnt;
};