Declare all read only data structures as const

By analysing objdump output some read only structures were found in
.data section. To help compiler further optimize code declare these
as const.

Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
This commit is contained in:
Mikael Kanstrup 2015-04-24 09:19:53 +02:00 committed by Jouni Malinen
parent fd4fb28179
commit 8b423edbd3
32 changed files with 93 additions and 92 deletions

View File

@ -17,16 +17,16 @@
#include "common/version.h" #include "common/version.h"
static const char *hostapd_cli_version = static const char *const hostapd_cli_version =
"hostapd_cli v" VERSION_STR "\n" "hostapd_cli v" VERSION_STR "\n"
"Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors"; "Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors";
static const char *hostapd_cli_license = static const char *const hostapd_cli_license =
"This software may be distributed under the terms of the BSD license.\n" "This software may be distributed under the terms of the BSD license.\n"
"See README for more details.\n"; "See README for more details.\n";
static const char *hostapd_cli_full_license = static const char *const hostapd_cli_full_license =
"This software may be distributed under the terms of the BSD license.\n" "This software may be distributed under the terms of the BSD license.\n"
"\n" "\n"
"Redistribution and use in source and binary forms, with or without\n" "Redistribution and use in source and binary forms, with or without\n"
@ -57,7 +57,7 @@ static const char *hostapd_cli_full_license =
"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" "OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
"\n"; "\n";
static const char *commands_help = static const char *const commands_help =
"Commands:\n" "Commands:\n"
" mib get MIB variables (dot1x, dot11, radius)\n" " mib get MIB variables (dot1x, dot11, radius)\n"
" sta <addr> get MIB variables for one station\n" " sta <addr> get MIB variables for one station\n"
@ -1015,7 +1015,7 @@ struct hostapd_cli_cmd {
int (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[]); int (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[]);
}; };
static struct hostapd_cli_cmd hostapd_cli_commands[] = { static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
{ "ping", hostapd_cli_cmd_ping }, { "ping", hostapd_cli_cmd_ping },
{ "mib", hostapd_cli_cmd_mib }, { "mib", hostapd_cli_cmd_mib },
{ "relog", hostapd_cli_cmd_relog }, { "relog", hostapd_cli_cmd_relog },
@ -1070,7 +1070,7 @@ static struct hostapd_cli_cmd hostapd_cli_commands[] = {
static void wpa_request(struct wpa_ctrl *ctrl, int argc, char *argv[]) static void wpa_request(struct wpa_ctrl *ctrl, int argc, char *argv[])
{ {
struct hostapd_cli_cmd *cmd, *match = NULL; const struct hostapd_cli_cmd *cmd, *match = NULL;
int count; int count;
count = 0; count = 0;

View File

@ -564,27 +564,27 @@ enum hostapd_hw_mode ieee80211_freq_to_chan(int freq, u8 *channel)
} }
static const char *us_op_class_cc[] = { static const char *const us_op_class_cc[] = {
"US", "CA", NULL "US", "CA", NULL
}; };
static const char *eu_op_class_cc[] = { static const char *const eu_op_class_cc[] = {
"AL", "AM", "AT", "AZ", "BA", "BE", "BG", "BY", "CH", "CY", "CZ", "DE", "AL", "AM", "AT", "AZ", "BA", "BE", "BG", "BY", "CH", "CY", "CZ", "DE",
"DK", "EE", "EL", "ES", "FI", "FR", "GE", "HR", "HU", "IE", "IS", "IT", "DK", "EE", "EL", "ES", "FI", "FR", "GE", "HR", "HU", "IE", "IS", "IT",
"LI", "LT", "LU", "LV", "MD", "ME", "MK", "MT", "NL", "NO", "PL", "PT", "LI", "LT", "LU", "LV", "MD", "ME", "MK", "MT", "NL", "NO", "PL", "PT",
"RO", "RS", "RU", "SE", "SI", "SK", "TR", "UA", "UK", NULL "RO", "RS", "RU", "SE", "SI", "SK", "TR", "UA", "UK", NULL
}; };
static const char *jp_op_class_cc[] = { static const char *const jp_op_class_cc[] = {
"JP", NULL "JP", NULL
}; };
static const char *cn_op_class_cc[] = { static const char *const cn_op_class_cc[] = {
"CN", "CA", NULL "CN", "CA", NULL
}; };
static int country_match(const char *cc[], const char *country) static int country_match(const char *const cc[], const char *const country)
{ {
int i; int i;

View File

@ -161,7 +161,7 @@ struct omac1_test_vector {
u8 tag[16]; u8 tag[16];
}; };
static struct omac1_test_vector omac1_test_vectors[] = static const struct omac1_test_vector omac1_test_vectors[] =
{ {
{ {
{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
@ -210,7 +210,8 @@ static struct omac1_test_vector omac1_test_vectors[] =
}; };
static int test_omac1_vector(struct omac1_test_vector *tv, unsigned int i) static int test_omac1_vector(const struct omac1_test_vector *tv,
unsigned int i)
{ {
u8 key[] = { u8 key[] = {
0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
@ -983,14 +984,14 @@ static int test_eap_fast(void)
} }
static u8 key0[] = static const u8 key0[] =
{ {
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b 0x0b, 0x0b, 0x0b, 0x0b
}; };
static u8 data0[] = "Hi There"; static const u8 data0[] = "Hi There";
static u8 prf0[] = static const u8 prf0[] =
{ {
0xbc, 0xd4, 0xc6, 0x50, 0xb3, 0x0b, 0x96, 0x84, 0xbc, 0xd4, 0xc6, 0x50, 0xb3, 0x0b, 0x96, 0x84,
0x95, 0x18, 0x29, 0xe0, 0xd7, 0x5f, 0x9d, 0x54, 0x95, 0x18, 0x29, 0xe0, 0xd7, 0x5f, 0x9d, 0x54,
@ -1002,9 +1003,9 @@ static u8 prf0[] =
0xdb, 0x83, 0x73, 0x69, 0x83, 0x56, 0xcf, 0x5a 0xdb, 0x83, 0x73, 0x69, 0x83, 0x56, 0xcf, 0x5a
}; };
static u8 key1[] = "Jefe"; static const u8 key1[] = "Jefe";
static u8 data1[] = "what do ya want for nothing?"; static const u8 data1[] = "what do ya want for nothing?";
static u8 prf1[] = static const u8 prf1[] =
{ {
0x51, 0xf4, 0xde, 0x5b, 0x33, 0xf2, 0x49, 0xad, 0x51, 0xf4, 0xde, 0x5b, 0x33, 0xf2, 0x49, 0xad,
0xf8, 0x1a, 0xeb, 0x71, 0x3a, 0x3c, 0x20, 0xf4, 0xf8, 0x1a, 0xeb, 0x71, 0x3a, 0x3c, 0x20, 0xf4,
@ -1017,13 +1018,13 @@ static u8 prf1[] =
}; };
static u8 key2[] = static const u8 key2[] =
{ {
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa 0xaa, 0xaa, 0xaa, 0xaa
}; };
static u8 data2[] = static const u8 data2[] =
{ {
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
@ -1033,7 +1034,7 @@ static u8 data2[] =
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
0xdd, 0xdd 0xdd, 0xdd
}; };
static u8 prf2[] = static const u8 prf2[] =
{ {
0xe1, 0xac, 0x54, 0x6e, 0xc4, 0xcb, 0x63, 0x6f, 0xe1, 0xac, 0x54, 0x6e, 0xc4, 0xcb, 0x63, 0x6f,
0x99, 0x76, 0x48, 0x7b, 0xe5, 0xc8, 0x6b, 0xe1, 0x99, 0x76, 0x48, 0x7b, 0xe5, 0xc8, 0x6b, 0xe1,
@ -1052,7 +1053,7 @@ struct passphrase_test {
char psk[32]; char psk[32];
}; };
static struct passphrase_test passphrase_tests[] = static const struct passphrase_test passphrase_tests[] =
{ {
{ {
"password", "password",
@ -1097,7 +1098,7 @@ struct rfc6070_test {
size_t dk_len; size_t dk_len;
}; };
static struct rfc6070_test rfc6070_tests[] = static const struct rfc6070_test rfc6070_tests[] =
{ {
{ {
"password", "password",
@ -1214,7 +1215,7 @@ static int test_sha1(void)
wpa_printf(MSG_INFO, "PBKDF2-SHA1 Passphrase test cases:"); wpa_printf(MSG_INFO, "PBKDF2-SHA1 Passphrase test cases:");
for (i = 0; i < NUM_PASSPHRASE_TESTS; i++) { for (i = 0; i < NUM_PASSPHRASE_TESTS; i++) {
u8 psk[32]; u8 psk[32];
struct passphrase_test *test = &passphrase_tests[i]; const struct passphrase_test *test = &passphrase_tests[i];
if (pbkdf2_sha1(test->passphrase, if (pbkdf2_sha1(test->passphrase,
(const u8 *) test->ssid, strlen(test->ssid), (const u8 *) test->ssid, strlen(test->ssid),
@ -1230,7 +1231,7 @@ static int test_sha1(void)
wpa_printf(MSG_INFO, "PBKDF2-SHA1 test cases (RFC 6070):"); wpa_printf(MSG_INFO, "PBKDF2-SHA1 test cases (RFC 6070):");
for (i = 0; i < NUM_RFC6070_TESTS; i++) { for (i = 0; i < NUM_RFC6070_TESTS; i++) {
u8 dk[25]; u8 dk[25];
struct rfc6070_test *test = &rfc6070_tests[i]; const struct rfc6070_test *test = &rfc6070_tests[i];
if (pbkdf2_sha1(test->p, (const u8 *) test->s, strlen(test->s), if (pbkdf2_sha1(test->p, (const u8 *) test->s, strlen(test->s),
test->c, dk, test->dk_len) == 0 && test->c, dk, test->dk_len) == 0 &&
@ -1248,7 +1249,7 @@ static int test_sha1(void)
} }
struct { const struct {
char *data; char *data;
u8 hash[32]; u8 hash[32];
} tests[] = { } tests[] = {
@ -1272,7 +1273,7 @@ struct {
} }
}; };
struct hmac_test { const struct hmac_test {
u8 key[80]; u8 key[80];
size_t key_len; size_t key_len;
u8 data[128]; u8 data[128];
@ -1513,7 +1514,7 @@ static int test_sha256(void)
} }
for (i = 0; i < ARRAY_SIZE(hmac_tests); i++) { for (i = 0; i < ARRAY_SIZE(hmac_tests); i++) {
struct hmac_test *t = &hmac_tests[i]; const struct hmac_test *t = &hmac_tests[i];
wpa_printf(MSG_INFO, "HMAC-SHA256 test case %d:", i + 1); wpa_printf(MSG_INFO, "HMAC-SHA256 test case %d:", i + 1);

View File

@ -1153,7 +1153,7 @@ dh_group ## id ## _prime, sizeof(dh_group ## id ## _prime), \
dh_group ## id ## _order, sizeof(dh_group ## id ## _order), safe } dh_group ## id ## _order, sizeof(dh_group ## id ## _order), safe }
static struct dh_group dh_groups[] = { static const struct dh_group dh_groups[] = {
DH_GROUP(5, 1), DH_GROUP(5, 1),
#ifdef ALL_DH_GROUPS #ifdef ALL_DH_GROUPS
DH_GROUP(1, 1), DH_GROUP(1, 1),

View File

@ -4640,6 +4640,6 @@ wpa_get_wowlan_triggers(const char *wowlan_triggers,
const struct wpa_driver_capa *capa); const struct wpa_driver_capa *capa);
/* NULL terminated array of linked in driver wrappers */ /* NULL terminated array of linked in driver wrappers */
extern struct wpa_driver_ops *wpa_drivers[]; extern const struct wpa_driver_ops *const wpa_drivers[];
#endif /* DRIVER_H */ #endif /* DRIVER_H */

View File

@ -743,7 +743,7 @@ struct wpa_driver_ops wpa_driver_privsep_ops = {
}; };
struct wpa_driver_ops *wpa_drivers[] = const struct wpa_driver_ops *const wpa_drivers[] =
{ {
&wpa_driver_privsep_ops, &wpa_driver_privsep_ops,
NULL NULL

View File

@ -47,7 +47,7 @@ extern struct wpa_driver_ops wpa_driver_none_ops; /* driver_none.c */
#endif /* CONFIG_DRIVER_NONE */ #endif /* CONFIG_DRIVER_NONE */
struct wpa_driver_ops *wpa_drivers[] = const struct wpa_driver_ops *const wpa_drivers[] =
{ {
#ifdef CONFIG_DRIVER_NL80211 #ifdef CONFIG_DRIVER_NL80211
&wpa_driver_nl80211_ops, &wpa_driver_nl80211_ops,

View File

@ -16,7 +16,7 @@
#include "ikev2_common.h" #include "ikev2_common.h"
static struct ikev2_integ_alg ikev2_integ_algs[] = { static const struct ikev2_integ_alg ikev2_integ_algs[] = {
{ AUTH_HMAC_SHA1_96, 20, 12 }, { AUTH_HMAC_SHA1_96, 20, 12 },
{ AUTH_HMAC_MD5_96, 16, 12 } { AUTH_HMAC_MD5_96, 16, 12 }
}; };
@ -24,7 +24,7 @@ static struct ikev2_integ_alg ikev2_integ_algs[] = {
#define NUM_INTEG_ALGS ARRAY_SIZE(ikev2_integ_algs) #define NUM_INTEG_ALGS ARRAY_SIZE(ikev2_integ_algs)
static struct ikev2_prf_alg ikev2_prf_algs[] = { static const struct ikev2_prf_alg ikev2_prf_algs[] = {
{ PRF_HMAC_SHA1, 20, 20 }, { PRF_HMAC_SHA1, 20, 20 },
{ PRF_HMAC_MD5, 16, 16 } { PRF_HMAC_MD5, 16, 16 }
}; };
@ -32,7 +32,7 @@ static struct ikev2_prf_alg ikev2_prf_algs[] = {
#define NUM_PRF_ALGS ARRAY_SIZE(ikev2_prf_algs) #define NUM_PRF_ALGS ARRAY_SIZE(ikev2_prf_algs)
static struct ikev2_encr_alg ikev2_encr_algs[] = { static const struct ikev2_encr_alg ikev2_encr_algs[] = {
{ ENCR_AES_CBC, 16, 16 }, /* only 128-bit keys supported for now */ { ENCR_AES_CBC, 16, 16 }, /* only 128-bit keys supported for now */
{ ENCR_3DES, 24, 8 } { ENCR_3DES, 24, 8 }
}; };

View File

@ -1911,7 +1911,7 @@ static void eap_peer_sm_tls_event(void *ctx, enum tls_event ev,
* structure remains alive while the EAP state machine is active. * structure remains alive while the EAP state machine is active.
*/ */
struct eap_sm * eap_peer_sm_init(void *eapol_ctx, struct eap_sm * eap_peer_sm_init(void *eapol_ctx,
struct eapol_callbacks *eapol_cb, const struct eapol_callbacks *eapol_cb,
void *msg_ctx, struct eap_config *conf) void *msg_ctx, struct eap_config *conf)
{ {
struct eap_sm *sm; struct eap_sm *sm;

View File

@ -307,7 +307,7 @@ struct eap_config {
}; };
struct eap_sm * eap_peer_sm_init(void *eapol_ctx, struct eap_sm * eap_peer_sm_init(void *eapol_ctx,
struct eapol_callbacks *eapol_cb, const struct eapol_callbacks *eapol_cb,
void *msg_ctx, struct eap_config *conf); void *msg_ctx, struct eap_config *conf);
void eap_peer_sm_deinit(struct eap_sm *sm); void eap_peer_sm_deinit(struct eap_sm *sm);
int eap_peer_sm_step(struct eap_sm *sm); int eap_peer_sm_step(struct eap_sm *sm);

View File

@ -328,7 +328,7 @@ struct eap_sm {
/* not defined in RFC 4137 */ /* not defined in RFC 4137 */
Boolean changed; Boolean changed;
void *eapol_ctx; void *eapol_ctx;
struct eapol_callbacks *eapol_cb; const struct eapol_callbacks *eapol_cb;
void *eap_method_priv; void *eap_method_priv;
int init_phase2; int init_phase2;
int fast_reauth; int fast_reauth;

View File

@ -139,7 +139,7 @@ struct eap_config {
struct eap_sm * eap_server_sm_init(void *eapol_ctx, struct eap_sm * eap_server_sm_init(void *eapol_ctx,
struct eapol_callbacks *eapol_cb, const struct eapol_callbacks *eapol_cb,
struct eap_config *eap_conf); struct eap_config *eap_conf);
void eap_server_sm_deinit(struct eap_sm *sm); void eap_server_sm_deinit(struct eap_sm *sm);
int eap_server_sm_step(struct eap_sm *sm); int eap_server_sm_step(struct eap_sm *sm);

View File

@ -155,7 +155,7 @@ struct eap_sm {
/* not defined in RFC 4137 */ /* not defined in RFC 4137 */
Boolean changed; Boolean changed;
void *eapol_ctx, *msg_ctx; void *eapol_ctx, *msg_ctx;
struct eapol_callbacks *eapol_cb; const struct eapol_callbacks *eapol_cb;
void *eap_method_priv; void *eap_method_priv;
u8 *identity; u8 *identity;
size_t identity_len; size_t identity_len;

View File

@ -1802,7 +1802,7 @@ static void eap_user_free(struct eap_user *user)
* This function allocates and initializes an EAP state machine. * This function allocates and initializes an EAP state machine.
*/ */
struct eap_sm * eap_server_sm_init(void *eapol_ctx, struct eap_sm * eap_server_sm_init(void *eapol_ctx,
struct eapol_callbacks *eapol_cb, const struct eapol_callbacks *eapol_cb,
struct eap_config *conf) struct eap_config *conf)
{ {
struct eap_sm *sm; struct eap_sm *sm;

View File

@ -22,7 +22,7 @@
#define STATE_MACHINE_DEBUG_PREFIX "IEEE 802.1X" #define STATE_MACHINE_DEBUG_PREFIX "IEEE 802.1X"
#define STATE_MACHINE_ADDR sm->addr #define STATE_MACHINE_ADDR sm->addr
static struct eapol_callbacks eapol_cb; static const struct eapol_callbacks eapol_cb;
/* EAPOL state machines are described in IEEE Std 802.1X-2004, Chap. 8.2 */ /* EAPOL state machines are described in IEEE Std 802.1X-2004, Chap. 8.2 */
@ -1056,7 +1056,7 @@ static int eapol_sm_erp_add_key(void *ctx, struct eap_server_erp_key *erp)
} }
static struct eapol_callbacks eapol_cb = static const struct eapol_callbacks eapol_cb =
{ {
eapol_sm_get_eap_user, eapol_sm_get_eap_user,
eapol_sm_get_eap_req_id_text, eapol_sm_get_eap_req_id_text,

View File

@ -1997,7 +1997,7 @@ static void eapol_sm_set_anon_id(void *ctx, const u8 *id, size_t len)
} }
static struct eapol_callbacks eapol_cb = static const struct eapol_callbacks eapol_cb =
{ {
eapol_sm_get_config, eapol_sm_get_config,
eapol_sm_get_bool, eapol_sm_get_bool,

View File

@ -167,7 +167,7 @@ struct radius_attr_type {
} data_type; } data_type;
}; };
static struct radius_attr_type radius_attrs[] = static const struct radius_attr_type radius_attrs[] =
{ {
{ RADIUS_ATTR_USER_NAME, "User-Name", RADIUS_ATTR_TEXT }, { RADIUS_ATTR_USER_NAME, "User-Name", RADIUS_ATTR_TEXT },
{ RADIUS_ATTR_USER_PASSWORD, "User-Password", RADIUS_ATTR_UNDIST }, { RADIUS_ATTR_USER_PASSWORD, "User-Password", RADIUS_ATTR_UNDIST },
@ -259,7 +259,7 @@ static struct radius_attr_type radius_attrs[] =
#define RADIUS_ATTRS ARRAY_SIZE(radius_attrs) #define RADIUS_ATTRS ARRAY_SIZE(radius_attrs)
static struct radius_attr_type *radius_get_attr_type(u8 type) static const struct radius_attr_type *radius_get_attr_type(u8 type)
{ {
size_t i; size_t i;
@ -274,7 +274,7 @@ static struct radius_attr_type *radius_get_attr_type(u8 type)
static void radius_msg_dump_attr(struct radius_attr_hdr *hdr) static void radius_msg_dump_attr(struct radius_attr_hdr *hdr)
{ {
struct radius_attr_type *attr; const struct radius_attr_type *attr;
int len; int len;
unsigned char *pos; unsigned char *pos;
char buf[1000]; char buf[1000];

View File

@ -35,7 +35,7 @@
*/ */
#define RADIUS_MAX_MSG_LEN 3000 #define RADIUS_MAX_MSG_LEN 3000
static struct eapol_callbacks radius_server_eapol_cb; static const struct eapol_callbacks radius_server_eapol_cb;
struct radius_client; struct radius_client;
struct radius_server_data; struct radius_server_data;
@ -2101,7 +2101,7 @@ static int radius_server_erp_add_key(void *ctx, struct eap_server_erp_key *erp)
#endif /* CONFIG_ERP */ #endif /* CONFIG_ERP */
static struct eapol_callbacks radius_server_eapol_cb = static const struct eapol_callbacks radius_server_eapol_cb =
{ {
.get_eap_user = radius_server_get_eap_user, .get_eap_user = radius_server_get_eap_user,
.get_eap_req_id_text = radius_server_get_eap_req_id_text, .get_eap_req_id_text = radius_server_get_eap_req_id_text,

View File

@ -29,8 +29,8 @@ struct ndef_record {
u32 total_length; u32 total_length;
}; };
static char wifi_handover_type[] = "application/vnd.wfa.wsc"; static const char wifi_handover_type[] = "application/vnd.wfa.wsc";
static char p2p_handover_type[] = "application/vnd.wfa.p2p"; static const char p2p_handover_type[] = "application/vnd.wfa.p2p";
static int ndef_parse_record(const u8 *data, u32 size, static int ndef_parse_record(const u8 *data, u32 size,
struct ndef_record *record) struct ndef_record *record)
@ -97,7 +97,7 @@ static struct wpabuf * ndef_parse_records(const struct wpabuf *buf,
} }
static struct wpabuf * ndef_build_record(u8 flags, void *type, static struct wpabuf * ndef_build_record(u8 flags, const void *type,
u8 type_length, void *id, u8 type_length, void *id,
u8 id_length, u8 id_length,
const struct wpabuf *payload) const struct wpabuf *payload)

View File

@ -17,7 +17,7 @@ struct wps_attr_parse_test {
int extra; int extra;
}; };
struct wps_attr_parse_test wps_attr_parse_test_cases[] = { const struct wps_attr_parse_test wps_attr_parse_test_cases[] = {
/* Empty message */ /* Empty message */
{ "", 0, 0 }, { "", 0, 0 },
/* Truncated attribute header */ /* Truncated attribute header */
@ -271,7 +271,7 @@ static int wps_attr_parse_tests(void)
for (i = 0; i < ARRAY_SIZE(wps_attr_parse_test_cases); i++) { for (i = 0; i < ARRAY_SIZE(wps_attr_parse_test_cases); i++) {
struct wpabuf *buf; struct wpabuf *buf;
size_t len; size_t len;
struct wps_attr_parse_test *test = const struct wps_attr_parse_test *test =
&wps_attr_parse_test_cases[i]; &wps_attr_parse_test_cases[i];
len = os_strlen(test->data) / 2; len = os_strlen(test->data) / 2;

View File

@ -14,7 +14,7 @@
#include "ap/ieee802_11.h" #include "ap/ieee802_11.h"
struct wpa_driver_ops *wpa_drivers[] = const struct wpa_driver_ops *const wpa_drivers[] =
{ {
NULL NULL
}; };

View File

@ -112,9 +112,9 @@ u8 * gcmp_decrypt(const u8 *tk, size_t tk_len, const struct ieee80211_hdr *hdr,
} }
u8 * gcmp_encrypt(const u8 *tk, size_t tk_len, u8 *frame, size_t len, u8 * gcmp_encrypt(const u8 *tk, size_t tk_len, const u8 *frame, size_t len,
size_t hdrlen, u8 *qos, size_t hdrlen, const u8 *qos,
u8 *pn, int keyid, size_t *encrypted_len) const u8 *pn, int keyid, size_t *encrypted_len)
{ {
u8 aad[30], nonce[12], *crypt, *pos; u8 aad[30], nonce[12], *crypt, *pos;
size_t aad_len, plen; size_t aad_len, plen;

View File

@ -232,7 +232,7 @@ struct gcmp_test {
u8 encr[300]; u8 encr[300];
}; };
static struct gcmp_test gcmp_vectors[] = static const struct gcmp_test gcmp_vectors[] =
{ {
{ {
.tk = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, .tk = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
@ -348,7 +348,7 @@ static struct gcmp_test gcmp_vectors[] =
}; };
static int run_gcmp(int idx, struct gcmp_test *vector) static int run_gcmp(int idx, const struct gcmp_test *vector)
{ {
u8 *enc, *plain; u8 *enc, *plain;
size_t enc_len, plain_len; size_t enc_len, plain_len;

View File

@ -291,9 +291,9 @@ u8 * bip_gmac_protect(const u8 *igtk, size_t igtk_len, u8 *frame, size_t len,
u8 * gcmp_decrypt(const u8 *tk, size_t tk_len, const struct ieee80211_hdr *hdr, u8 * gcmp_decrypt(const u8 *tk, size_t tk_len, const struct ieee80211_hdr *hdr,
const u8 *data, size_t data_len, size_t *decrypted_len); const u8 *data, size_t data_len, size_t *decrypted_len);
u8 * gcmp_encrypt(const u8 *tk, size_t tk_len, u8 *frame, size_t len, u8 * gcmp_encrypt(const u8 *tk, size_t tk_len, const u8 *frame, size_t len,
size_t hdrlen, u8 *qos, size_t hdrlen, const u8 *qos,
u8 *pn, int keyid, size_t *encrypted_len); const u8 *pn, int keyid, size_t *encrypted_len);
int ctrl_init(struct wlantest *wt); int ctrl_init(struct wlantest *wt);
void ctrl_deinit(struct wlantest *wt); void ctrl_deinit(struct wlantest *wt);

View File

@ -8686,7 +8686,7 @@ static int wpa_supplicant_global_iface_list(struct wpa_global *global,
char *pos, *end; char *pos, *end;
for (i = 0; wpa_drivers[i]; i++) { for (i = 0; wpa_drivers[i]; i++) {
struct wpa_driver_ops *drv = wpa_drivers[i]; const struct wpa_driver_ops *drv = wpa_drivers[i];
if (drv->get_interfaces == NULL) if (drv->get_interfaces == NULL)
continue; continue;
tmp = drv->get_interfaces(global->drv_priv[i]); tmp = drv->get_interfaces(global->drv_priv[i]);

View File

@ -30,7 +30,7 @@
#include "wpas_glue.h" #include "wpas_glue.h"
struct wpa_driver_ops *wpa_drivers[] = { NULL }; const struct wpa_driver_ops *const wpa_drivers[] = { NULL };
struct extra_radius_attr { struct extra_radius_attr {

View File

@ -3099,7 +3099,7 @@ struct p2p_oper_class_map {
enum { BW20, BW40PLUS, BW40MINUS, BW80, BW2160 } bw; enum { BW20, BW40PLUS, BW40MINUS, BW80, BW2160 } bw;
}; };
static struct p2p_oper_class_map op_class[] = { static const struct p2p_oper_class_map op_class[] = {
{ HOSTAPD_MODE_IEEE80211G, 81, 1, 13, 1, BW20 }, { HOSTAPD_MODE_IEEE80211G, 81, 1, 13, 1, BW20 },
#if 0 /* Do not enable HT40 on 2 GHz for now */ #if 0 /* Do not enable HT40 on 2 GHz for now */
{ HOSTAPD_MODE_IEEE80211G, 83, 1, 9, 1, BW40PLUS }, { HOSTAPD_MODE_IEEE80211G, 83, 1, 9, 1, BW40PLUS },
@ -3232,7 +3232,7 @@ static int wpas_p2p_setup_channels(struct wpa_supplicant *wpa_s,
cla = cli_cla = 0; cla = cli_cla = 0;
for (op = 0; op_class[op].op_class; op++) { for (op = 0; op_class[op].op_class; op++) {
struct p2p_oper_class_map *o = &op_class[op]; const struct p2p_oper_class_map *o = &op_class[op];
u8 ch; u8 ch;
struct p2p_reg_class *reg = NULL, *cli_reg = NULL; struct p2p_reg_class *reg = NULL, *cli_reg = NULL;
@ -3291,7 +3291,7 @@ int wpas_p2p_get_ht40_mode(struct wpa_supplicant *wpa_s,
enum chan_allowed ret; enum chan_allowed ret;
for (op = 0; op_class[op].op_class; op++) { for (op = 0; op_class[op].op_class; op++) {
struct p2p_oper_class_map *o = &op_class[op]; const struct p2p_oper_class_map *o = &op_class[op];
u8 ch; u8 ch;
for (ch = o->min_chan; ch <= o->max_chan; ch += o->inc) { for (ch = o->min_chan; ch <= o->max_chan; ch += o->inc) {

View File

@ -27,7 +27,7 @@
#include "drivers/driver.h" #include "drivers/driver.h"
struct wpa_driver_ops *wpa_drivers[] = { NULL }; const struct wpa_driver_ops *const wpa_drivers[] = { NULL };
struct preauth_test_data { struct preauth_test_data {

View File

@ -26,16 +26,16 @@
#endif /* ANDROID */ #endif /* ANDROID */
static const char *wpa_cli_version = static const char *const wpa_cli_version =
"wpa_cli v" VERSION_STR "\n" "wpa_cli v" VERSION_STR "\n"
"Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors"; "Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors";
static const char *wpa_cli_license = static const char *const wpa_cli_license =
"This software may be distributed under the terms of the BSD license.\n" "This software may be distributed under the terms of the BSD license.\n"
"See README for more details.\n"; "See README for more details.\n";
static const char *wpa_cli_full_license = static const char *const wpa_cli_full_license =
"This software may be distributed under the terms of the BSD license.\n" "This software may be distributed under the terms of the BSD license.\n"
"\n" "\n"
"Redistribution and use in source and binary forms, with or without\n" "Redistribution and use in source and binary forms, with or without\n"
@ -2805,7 +2805,7 @@ struct wpa_cli_cmd {
const char *usage; const char *usage;
}; };
static struct wpa_cli_cmd wpa_cli_commands[] = { static const struct wpa_cli_cmd wpa_cli_commands[] = {
{ "status", wpa_cli_cmd_status, NULL, { "status", wpa_cli_cmd_status, NULL,
cli_cmd_flag_none, cli_cmd_flag_none,
"[verbose] = get current WPA/EAPOL/EAP status" }, "[verbose] = get current WPA/EAPOL/EAP status" },
@ -3350,7 +3350,7 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
/* /*
* Prints command usage, lines are padded with the specified string. * Prints command usage, lines are padded with the specified string.
*/ */
static void print_cmd_help(struct wpa_cli_cmd *cmd, const char *pad) static void print_cmd_help(const struct wpa_cli_cmd *cmd, const char *pad)
{ {
char c; char c;
size_t n; size_t n;
@ -3488,7 +3488,7 @@ static char ** wpa_cli_edit_completion_cb(void *ctx, const char *str, int pos)
static int wpa_request(struct wpa_ctrl *ctrl, int argc, char *argv[]) static int wpa_request(struct wpa_ctrl *ctrl, int argc, char *argv[])
{ {
struct wpa_cli_cmd *cmd, *match = NULL; const struct wpa_cli_cmd *cmd, *match = NULL;
int count; int count;
int ret = 0; int ret = 0;

View File

@ -29,7 +29,7 @@ struct wpa_priv_interface {
char *sock_name; char *sock_name;
int fd; int fd;
struct wpa_driver_ops *driver; const struct wpa_driver_ops *driver;
void *drv_priv; void *drv_priv;
struct sockaddr_un drv_addr; struct sockaddr_un drv_addr;
int wpas_registered; int wpas_registered;

View File

@ -55,11 +55,11 @@
#include "wpas_kay.h" #include "wpas_kay.h"
#include "mesh.h" #include "mesh.h"
const char *wpa_supplicant_version = const char *const wpa_supplicant_version =
"wpa_supplicant v" VERSION_STR "\n" "wpa_supplicant v" VERSION_STR "\n"
"Copyright (c) 2003-2015, Jouni Malinen <j@w1.fi> and contributors"; "Copyright (c) 2003-2015, Jouni Malinen <j@w1.fi> and contributors";
const char *wpa_supplicant_license = const char *const wpa_supplicant_license =
"This software may be distributed under the terms of the BSD license.\n" "This software may be distributed under the terms of the BSD license.\n"
"See README for more details.\n" "See README for more details.\n"
#ifdef EAP_TLS_OPENSSL #ifdef EAP_TLS_OPENSSL
@ -70,16 +70,16 @@ const char *wpa_supplicant_license =
#ifndef CONFIG_NO_STDOUT_DEBUG #ifndef CONFIG_NO_STDOUT_DEBUG
/* Long text divided into parts in order to fit in C89 strings size limits. */ /* Long text divided into parts in order to fit in C89 strings size limits. */
const char *wpa_supplicant_full_license1 = const char *const wpa_supplicant_full_license1 =
""; "";
const char *wpa_supplicant_full_license2 = const char *const wpa_supplicant_full_license2 =
"This software may be distributed under the terms of the BSD license.\n" "This software may be distributed under the terms of the BSD license.\n"
"\n" "\n"
"Redistribution and use in source and binary forms, with or without\n" "Redistribution and use in source and binary forms, with or without\n"
"modification, are permitted provided that the following conditions are\n" "modification, are permitted provided that the following conditions are\n"
"met:\n" "met:\n"
"\n"; "\n";
const char *wpa_supplicant_full_license3 = const char *const wpa_supplicant_full_license3 =
"1. Redistributions of source code must retain the above copyright\n" "1. Redistributions of source code must retain the above copyright\n"
" notice, this list of conditions and the following disclaimer.\n" " notice, this list of conditions and the following disclaimer.\n"
"\n" "\n"
@ -87,7 +87,7 @@ const char *wpa_supplicant_full_license3 =
" notice, this list of conditions and the following disclaimer in the\n" " notice, this list of conditions and the following disclaimer in the\n"
" documentation and/or other materials provided with the distribution.\n" " documentation and/or other materials provided with the distribution.\n"
"\n"; "\n";
const char *wpa_supplicant_full_license4 = const char *const wpa_supplicant_full_license4 =
"3. Neither the name(s) of the above-listed copyright holder(s) nor the\n" "3. Neither the name(s) of the above-listed copyright holder(s) nor the\n"
" names of its contributors may be used to endorse or promote products\n" " names of its contributors may be used to endorse or promote products\n"
" derived from this software without specific prior written permission.\n" " derived from this software without specific prior written permission.\n"
@ -96,7 +96,7 @@ const char *wpa_supplicant_full_license4 =
"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" "\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n"
"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" "LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n"
"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n"; "A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n";
const char *wpa_supplicant_full_license5 = const char *const wpa_supplicant_full_license5 =
"OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" "OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n"
"SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" "SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n"
"LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" "LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n"

View File

@ -17,14 +17,14 @@
#include "config_ssid.h" #include "config_ssid.h"
#include "wmm_ac.h" #include "wmm_ac.h"
extern const char *wpa_supplicant_version; extern const char *const wpa_supplicant_version;
extern const char *wpa_supplicant_license; extern const char *const wpa_supplicant_license;
#ifndef CONFIG_NO_STDOUT_DEBUG #ifndef CONFIG_NO_STDOUT_DEBUG
extern const char *wpa_supplicant_full_license1; extern const char *const wpa_supplicant_full_license1;
extern const char *wpa_supplicant_full_license2; extern const char *const wpa_supplicant_full_license2;
extern const char *wpa_supplicant_full_license3; extern const char *const wpa_supplicant_full_license3;
extern const char *wpa_supplicant_full_license4; extern const char *const wpa_supplicant_full_license4;
extern const char *wpa_supplicant_full_license5; extern const char *const wpa_supplicant_full_license5;
#endif /* CONFIG_NO_STDOUT_DEBUG */ #endif /* CONFIG_NO_STDOUT_DEBUG */
struct wpa_sm; struct wpa_sm;
@ -518,7 +518,7 @@ struct wpa_supplicant {
unsigned int last_scan_res_size; unsigned int last_scan_res_size;
struct os_reltime last_scan; struct os_reltime last_scan;
struct wpa_driver_ops *driver; const struct wpa_driver_ops *driver;
int interface_removed; /* whether the network interface has been int interface_removed; /* whether the network interface has been
* removed */ * removed */
struct wpa_sm *wpa; struct wpa_sm *wpa;