diff options
author | John Rigby <john.rigby@linaro.org> | 2012-08-09 14:17:11 -0600 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2012-12-06 12:16:45 -0700 |
commit | cfe7fe339c1aea0c3ac80e480accd85cfb7b59ce (patch) | |
tree | 5744b24d21fb05ceeced18944eb5ee893a12df1a | |
parent | 4f355d3406e7e422e277586de15fb85d39ce34b3 (diff) |
dhcp: add default weak dhcp_vendorex_{prep,proc} functions
Signed-off-by: John Rigby <john.rigby@linaro.org>
-rw-r--r-- | net/bootp.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/net/bootp.c b/net/bootp.c index 4300f1c2f..885cf095f 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -63,6 +63,39 @@ static char *dhcpmsg2str(int type) } } #endif + +#if defined(CONFIG_BOOTP_VENDOREX) +extern u8 *dhcp_vendorex_prep (u8 *e); /*rtn new e after add own opts. */ +extern u8 *dhcp_vendorex_proc (u8 *e); /*rtn next e if mine,else NULL */ +u8 *__dhcp_vendorex_prep(u8 *e) +{ + char *ptr; + + /* DHCP vendor-class-identifier = 60 */ + if ((ptr = getenv("dhcp_vendor-class-identifier"))) { + *e++ = 60; + *e++ = strlen(ptr); + while (*ptr) + *e++ = *ptr++; + } + /* DHCP_CLIENT_IDENTIFIER = 61 */ + if ((ptr = getenv("dhcp_client_id"))) { + *e++ = 61; + *e++ = strlen(ptr); + while (*ptr) + *e++ = *ptr++; + } + + return e; +} + +u8 *__dhcp_vendorex_proc(u8 *popt) +{ + return NULL; +} +u8 *dhcp_vendorex_prep(u8 *e) __attribute__((weak, alias("__dhcp_vendorex_prep"))); +u8 *dhcp_vendorex_proc(u8 *e) __attribute__((weak, alias("__dhcp_vendorex_proc"))); +#endif #endif static int BootpCheckPkt(uchar *pkt, unsigned dest, unsigned src, unsigned len) |