aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.h
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-06-13 20:44:05 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-06-13 20:44:05 +0000
commit21765fa063830923d13426ec6989c16da9210e49 (patch)
treeb564726ae79740552bff9bf6412e97f1ae34fbfd /networking/udhcp/dhcpc.h
parent76f812803b72b5ccca764cdc7bfc42276fd70413 (diff)
downloadbusybox-w32-21765fa063830923d13426ec6989c16da9210e49.tar.gz
busybox-w32-21765fa063830923d13426ec6989c16da9210e49.tar.bz2
busybox-w32-21765fa063830923d13426ec6989c16da9210e49.zip
udhcpc: kill undocumented -W, it was a no-op.
fix option parsing in the case some CONFIG_x are off. disable -b on NOMMU, make backgrounding work correctly (if a bit differently from MMU case). Previously, it wasn't working at all. stop using global data for flags in main(), opt bitfield works as well. function old new delta cryptpw_main 177 153 -24 packed_usage 24478 24452 -26 client_background 26 - -26 udhcpc_main 2462 2372 -90 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/3 up/down: 0/-166) Total: -166 bytes
Diffstat (limited to 'networking/udhcp/dhcpc.h')
-rw-r--r--networking/udhcp/dhcpc.h19
1 files changed, 7 insertions, 12 deletions
diff --git a/networking/udhcp/dhcpc.h b/networking/udhcp/dhcpc.h
index 97d3b3c9d..1ebccd405 100644
--- a/networking/udhcp/dhcpc.h
+++ b/networking/udhcp/dhcpc.h
@@ -9,14 +9,15 @@
9#endif 9#endif
10 10
11struct client_config_t { 11struct client_config_t {
12 uint8_t arp[6]; /* Our arp address */
12 /* TODO: combine flag fields into single "unsigned opt" */ 13 /* TODO: combine flag fields into single "unsigned opt" */
13 /* (can be set directly to the result of getopt32) */ 14 /* (can be set directly to the result of getopt32) */
14 char foreground; /* Do not fork */
15 char quit_after_lease; /* Quit after obtaining lease */
16 char release_on_quit; /* Perform release on quit */
17 char abort_if_no_lease; /* Abort if no lease */
18 char background_if_no_lease; /* Fork to background if no lease */
19 char no_default_options; /* Do not include default optins in request */ 15 char no_default_options; /* Do not include default optins in request */
16#if ENABLE_FEATURE_UDHCP_PORT
17 uint16_t port;
18#endif
19 int ifindex; /* Index number of the interface to use */
20 uint8_t opt_mask[256 / 8]; /* Bitmask of options to send (-O option) */
20 const char *interface; /* The name of the interface to use */ 21 const char *interface; /* The name of the interface to use */
21 char *pidfile; /* Optionally store the process ID */ 22 char *pidfile; /* Optionally store the process ID */
22 const char *script; /* User script to run at dhcp events */ 23 const char *script; /* User script to run at dhcp events */
@@ -24,16 +25,10 @@ struct client_config_t {
24 uint8_t *vendorclass; /* Optional vendor class-id to use */ 25 uint8_t *vendorclass; /* Optional vendor class-id to use */
25 uint8_t *hostname; /* Optional hostname to use */ 26 uint8_t *hostname; /* Optional hostname to use */
26 uint8_t *fqdn; /* Optional fully qualified domain name to use */ 27 uint8_t *fqdn; /* Optional fully qualified domain name to use */
27 int ifindex; /* Index number of the interface to use */
28#if ENABLE_FEATURE_UDHCP_PORT
29 uint16_t port;
30#endif
31 uint8_t arp[6]; /* Our arp address */
32 uint8_t opt_mask[256 / 8]; /* Bitmask of options to send (-O option) */
33}; 28};
34 29
35/* server_config sits in 1st half of bb_common_bufsiz1 */ 30/* server_config sits in 1st half of bb_common_bufsiz1 */
36#define client_config (*(struct client_config_t*)(&bb_common_bufsiz1[COMMON_BUFSIZE/2])) 31#define client_config (*(struct client_config_t*)(&bb_common_bufsiz1[COMMON_BUFSIZE / 2]))
37 32
38#if ENABLE_FEATURE_UDHCP_PORT 33#if ENABLE_FEATURE_UDHCP_PORT
39#define CLIENT_PORT (client_config.port) 34#define CLIENT_PORT (client_config.port)