diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-13 20:44:05 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-13 20:44:05 +0000 |
commit | 21765fa063830923d13426ec6989c16da9210e49 (patch) | |
tree | b564726ae79740552bff9bf6412e97f1ae34fbfd /networking/udhcp/dhcpc.h | |
parent | 76f812803b72b5ccca764cdc7bfc42276fd70413 (diff) | |
download | busybox-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.h | 19 |
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 | ||
11 | struct client_config_t { | 11 | struct 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) |