From 21765fa063830923d13426ec6989c16da9210e49 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 13 Jun 2008 20:44:05 +0000 Subject: 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 --- networking/udhcp/dhcpc.h | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'networking/udhcp/dhcpc.h') 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 @@ #endif struct client_config_t { + uint8_t arp[6]; /* Our arp address */ /* TODO: combine flag fields into single "unsigned opt" */ /* (can be set directly to the result of getopt32) */ - char foreground; /* Do not fork */ - char quit_after_lease; /* Quit after obtaining lease */ - char release_on_quit; /* Perform release on quit */ - char abort_if_no_lease; /* Abort if no lease */ - char background_if_no_lease; /* Fork to background if no lease */ char no_default_options; /* Do not include default optins in request */ +#if ENABLE_FEATURE_UDHCP_PORT + uint16_t port; +#endif + int ifindex; /* Index number of the interface to use */ + uint8_t opt_mask[256 / 8]; /* Bitmask of options to send (-O option) */ const char *interface; /* The name of the interface to use */ char *pidfile; /* Optionally store the process ID */ const char *script; /* User script to run at dhcp events */ @@ -24,16 +25,10 @@ struct client_config_t { uint8_t *vendorclass; /* Optional vendor class-id to use */ uint8_t *hostname; /* Optional hostname to use */ uint8_t *fqdn; /* Optional fully qualified domain name to use */ - int ifindex; /* Index number of the interface to use */ -#if ENABLE_FEATURE_UDHCP_PORT - uint16_t port; -#endif - uint8_t arp[6]; /* Our arp address */ - uint8_t opt_mask[256 / 8]; /* Bitmask of options to send (-O option) */ }; /* server_config sits in 1st half of bb_common_bufsiz1 */ -#define client_config (*(struct client_config_t*)(&bb_common_bufsiz1[COMMON_BUFSIZE/2])) +#define client_config (*(struct client_config_t*)(&bb_common_bufsiz1[COMMON_BUFSIZE / 2])) #if ENABLE_FEATURE_UDHCP_PORT #define CLIENT_PORT (client_config.port) -- cgit v1.2.3