diff options
| author | Michael Brown | 2013-05-01 18:20:39 +0200 |
|---|---|---|
| committer | Michael Brown | 2013-05-01 20:52:12 +0200 |
| commit | 15d2f947f51a0ea72e9938f5648fd5133950ecdb (patch) | |
| tree | f53d0e87063b2c2972c3602ad8962332b3756a72 /src/net | |
| parent | [realtek] Defer packets when no transmit descriptors are available (diff) | |
| download | ipxe-15d2f947f51a0ea72e9938f5648fd5133950ecdb.tar.gz ipxe-15d2f947f51a0ea72e9938f5648fd5133950ecdb.tar.xz ipxe-15d2f947f51a0ea72e9938f5648fd5133950ecdb.zip | |
[settings] Eliminate settings "tag magic"
Create an explicit concept of "settings scope" and eliminate the magic
values used for numerical setting tags.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net')
| -rw-r--r-- | src/net/80211/net80211.c | 3 | ||||
| -rw-r--r-- | src/net/dhcppkt.c | 7 | ||||
| -rw-r--r-- | src/net/netdev_settings.c | 17 |
3 files changed, 4 insertions, 23 deletions
diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c index 2181fc4ac..54df79056 100644 --- a/src/net/80211/net80211.c +++ b/src/net/80211/net80211.c @@ -208,7 +208,6 @@ struct setting net80211_ssid_setting __setting ( SETTING_NETDEV_EXTRA ) = { .name = "ssid", .description = "Wireless SSID", .type = &setting_type_string, - .tag = NET80211_SETTING_TAG_SSID, }; /** Whether to use active scanning @@ -221,7 +220,6 @@ struct setting net80211_active_setting __setting ( SETTING_NETDEV_EXTRA ) = { .name = "active-scan", .description = "Actively scan for wireless networks", .type = &setting_type_int8, - .tag = NET80211_SETTING_TAG_ACTIVE_SCAN, }; /** The cryptographic key to use @@ -234,7 +232,6 @@ struct setting net80211_key_setting __setting ( SETTING_NETDEV_EXTRA ) = { .name = "key", .description = "Wireless encryption key", .type = &setting_type_string, - .tag = NET80211_SETTING_TAG_KEY, }; /** @} */ diff --git a/src/net/dhcppkt.c b/src/net/dhcppkt.c index 528f90037..3722c09e1 100644 --- a/src/net/dhcppkt.c +++ b/src/net/dhcppkt.c @@ -230,7 +230,8 @@ static int dhcppkt_settings_applies ( struct settings *settings, struct dhcp_packet *dhcppkt = container_of ( settings, struct dhcp_packet, settings ); - return dhcppkt_applies ( dhcppkt, setting->tag ); + return ( ( setting->scope == NULL ) && + dhcppkt_applies ( dhcppkt, setting->tag ) ); } /** @@ -299,6 +300,6 @@ void dhcppkt_init ( struct dhcp_packet *dhcppkt, struct dhcphdr *data, dhcpopt_init ( &dhcppkt->options, &dhcppkt->dhcphdr->options, ( len - offsetof ( struct dhcphdr, options ) ), dhcpopt_no_realloc ); - settings_init ( &dhcppkt->settings, - &dhcppkt_settings_operations, &dhcppkt->refcnt, 0 ); + settings_init ( &dhcppkt->settings, &dhcppkt_settings_operations, + &dhcppkt->refcnt, NULL ); } diff --git a/src/net/netdev_settings.c b/src/net/netdev_settings.c index 9efe6811c..8758e9800 100644 --- a/src/net/netdev_settings.c +++ b/src/net/netdev_settings.c @@ -39,30 +39,14 @@ struct setting mac_setting __setting ( SETTING_NETDEV ) = { .name = "mac", .description = "MAC address", .type = &setting_type_hex, - .tag = NETDEV_SETTING_TAG_MAC, }; struct setting busid_setting __setting ( SETTING_NETDEV ) = { .name = "busid", .description = "Bus ID", .type = &setting_type_hex, - .tag = NETDEV_SETTING_TAG_BUS_ID, }; /** - * Check applicability of network device setting - * - * @v settings Settings block - * @v setting Setting - * @ret applies Setting applies within this settings block - */ -static int netdev_applies ( struct settings *settings __unused, - struct setting *setting ) { - - return ( IS_NETDEV_SETTING_TAG ( setting->tag ) || - dhcpopt_applies ( setting->tag ) ); -} - -/** * Store value of network device setting * * @v settings Settings block @@ -134,7 +118,6 @@ static void netdev_clear ( struct settings *settings ) { /** Network device configuration settings operations */ struct settings_operations netdev_settings_operations = { - .applies = netdev_applies, .store = netdev_store, .fetch = netdev_fetch, .clear = netdev_clear, |
