LCOV - code coverage report
Current view: top level - wpa_supplicant - driver_i.h (source / functions) Hit Total Coverage
Test: wpa_supplicant/hostapd combined for hwsim test run 1388338050 Lines: 173 241 71.8 %
Date: 2013-12-29 Functions: 45 59 76.3 %
Branches: 45 120 37.5 %

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  * wpa_supplicant - Internal driver interface wrappers
       3                 :            :  * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
       4                 :            :  *
       5                 :            :  * This software may be distributed under the terms of the BSD license.
       6                 :            :  * See README for more details.
       7                 :            :  */
       8                 :            : 
       9                 :            : #ifndef DRIVER_I_H
      10                 :            : #define DRIVER_I_H
      11                 :            : 
      12                 :            : #include "drivers/driver.h"
      13                 :            : 
      14                 :            : /* driver_ops */
      15                 :         22 : static inline void * wpa_drv_init(struct wpa_supplicant *wpa_s,
      16                 :            :                                   const char *ifname)
      17                 :            : {
      18         [ +  - ]:         22 :         if (wpa_s->driver->init2)
      19                 :         22 :                 return wpa_s->driver->init2(wpa_s, ifname,
      20                 :            :                                             wpa_s->global_drv_priv);
      21         [ #  # ]:          0 :         if (wpa_s->driver->init) {
      22                 :          0 :                 return wpa_s->driver->init(wpa_s, ifname);
      23                 :            :         }
      24                 :         22 :         return NULL;
      25                 :            : }
      26                 :            : 
      27                 :         22 : static inline void wpa_drv_deinit(struct wpa_supplicant *wpa_s)
      28                 :            : {
      29         [ +  - ]:         22 :         if (wpa_s->driver->deinit)
      30                 :         22 :                 wpa_s->driver->deinit(wpa_s->drv_priv);
      31                 :         22 : }
      32                 :            : 
      33                 :         22 : static inline int wpa_drv_set_param(struct wpa_supplicant *wpa_s,
      34                 :            :                                     const char *param)
      35                 :            : {
      36         [ +  - ]:         22 :         if (wpa_s->driver->set_param)
      37                 :         22 :                 return wpa_s->driver->set_param(wpa_s->drv_priv, param);
      38                 :         22 :         return 0;
      39                 :            : }
      40                 :            : 
      41                 :         44 : static inline int wpa_drv_set_countermeasures(struct wpa_supplicant *wpa_s,
      42                 :            :                                               int enabled)
      43                 :            : {
      44         [ -  + ]:         44 :         if (wpa_s->driver->set_countermeasures) {
      45                 :          0 :                 return wpa_s->driver->set_countermeasures(wpa_s->drv_priv,
      46                 :            :                                                           enabled);
      47                 :            :         }
      48                 :         44 :         return -1;
      49                 :            : }
      50                 :            : 
      51                 :        441 : static inline int wpa_drv_authenticate(struct wpa_supplicant *wpa_s,
      52                 :            :                                        struct wpa_driver_auth_params *params)
      53                 :            : {
      54         [ +  - ]:        441 :         if (wpa_s->driver->authenticate)
      55                 :        441 :                 return wpa_s->driver->authenticate(wpa_s->drv_priv, params);
      56                 :        441 :         return -1;
      57                 :            : }
      58                 :            : 
      59                 :        469 : static inline int wpa_drv_associate(struct wpa_supplicant *wpa_s,
      60                 :            :                                     struct wpa_driver_associate_params *params)
      61                 :            : {
      62         [ +  - ]:        469 :         if (wpa_s->driver->associate) {
      63                 :        469 :                 return wpa_s->driver->associate(wpa_s->drv_priv, params);
      64                 :            :         }
      65                 :        469 :         return -1;
      66                 :            : }
      67                 :            : 
      68                 :        881 : static inline int wpa_drv_scan(struct wpa_supplicant *wpa_s,
      69                 :            :                                struct wpa_driver_scan_params *params)
      70                 :            : {
      71         [ +  - ]:        881 :         if (wpa_s->driver->scan2)
      72                 :        881 :                 return wpa_s->driver->scan2(wpa_s->drv_priv, params);
      73                 :        881 :         return -1;
      74                 :            : }
      75                 :            : 
      76                 :          0 : static inline int wpa_drv_sched_scan(struct wpa_supplicant *wpa_s,
      77                 :            :                                      struct wpa_driver_scan_params *params,
      78                 :            :                                      u32 interval)
      79                 :            : {
      80         [ #  # ]:          0 :         if (wpa_s->driver->sched_scan)
      81                 :          0 :                 return wpa_s->driver->sched_scan(wpa_s->drv_priv,
      82                 :            :                                                  params, interval);
      83                 :          0 :         return -1;
      84                 :            : }
      85                 :            : 
      86                 :          0 : static inline int wpa_drv_stop_sched_scan(struct wpa_supplicant *wpa_s)
      87                 :            : {
      88         [ #  # ]:          0 :         if (wpa_s->driver->stop_sched_scan)
      89                 :          0 :                 return wpa_s->driver->stop_sched_scan(wpa_s->drv_priv);
      90                 :          0 :         return -1;
      91                 :            : }
      92                 :            : 
      93                 :        878 : static inline struct wpa_scan_results * wpa_drv_get_scan_results2(
      94                 :            :         struct wpa_supplicant *wpa_s)
      95                 :            : {
      96         [ +  - ]:        878 :         if (wpa_s->driver->get_scan_results2)
      97                 :        878 :                 return wpa_s->driver->get_scan_results2(wpa_s->drv_priv);
      98                 :        878 :         return NULL;
      99                 :            : }
     100                 :            : 
     101                 :        714 : static inline int wpa_drv_get_bssid(struct wpa_supplicant *wpa_s, u8 *bssid)
     102                 :            : {
     103         [ +  - ]:        714 :         if (wpa_s->driver->get_bssid) {
     104                 :        714 :                 return wpa_s->driver->get_bssid(wpa_s->drv_priv, bssid);
     105                 :            :         }
     106                 :        714 :         return -1;
     107                 :            : }
     108                 :            : 
     109                 :        277 : static inline int wpa_drv_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid)
     110                 :            : {
     111         [ +  - ]:        277 :         if (wpa_s->driver->get_ssid) {
     112                 :        277 :                 return wpa_s->driver->get_ssid(wpa_s->drv_priv, ssid);
     113                 :            :         }
     114                 :        277 :         return -1;
     115                 :            : }
     116                 :            : 
     117                 :       5717 : static inline int wpa_drv_set_key(struct wpa_supplicant *wpa_s,
     118                 :            :                                   enum wpa_alg alg, const u8 *addr,
     119                 :            :                                   int key_idx, int set_tx,
     120                 :            :                                    const u8 *seq, size_t seq_len,
     121                 :            :                                    const u8 *key, size_t key_len)
     122                 :            : {
     123         [ +  - ]:       5717 :         if (wpa_s->driver->set_key) {
     124                 :       5717 :                 wpa_s->keys_cleared = 0;
     125                 :       5717 :                 return wpa_s->driver->set_key(wpa_s->ifname, wpa_s->drv_priv,
     126                 :            :                                               alg, addr, key_idx, set_tx,
     127                 :            :                                               seq, seq_len, key, key_len);
     128                 :            :         }
     129                 :       5717 :         return -1;
     130                 :            : }
     131                 :            : 
     132                 :          0 : static inline int wpa_drv_sta_deauth(struct wpa_supplicant *wpa_s,
     133                 :            :                                      const u8 *addr, int reason_code)
     134                 :            : {
     135         [ #  # ]:          0 :         if (wpa_s->driver->sta_deauth) {
     136                 :          0 :                 return wpa_s->driver->sta_deauth(wpa_s->drv_priv,
     137                 :          0 :                                                  wpa_s->own_addr, addr,
     138                 :            :                                                  reason_code);
     139                 :            :         }
     140                 :          0 :         return -1;
     141                 :            : }
     142                 :            : 
     143                 :        391 : static inline int wpa_drv_deauthenticate(struct wpa_supplicant *wpa_s,
     144                 :            :                                          const u8 *addr, int reason_code)
     145                 :            : {
     146         [ +  - ]:        391 :         if (wpa_s->driver->deauthenticate) {
     147                 :        391 :                 return wpa_s->driver->deauthenticate(wpa_s->drv_priv, addr,
     148                 :            :                                                      reason_code);
     149                 :            :         }
     150                 :        391 :         return -1;
     151                 :            : }
     152                 :            : 
     153                 :         81 : static inline int wpa_drv_add_pmkid(struct wpa_supplicant *wpa_s,
     154                 :            :                                     const u8 *bssid, const u8 *pmkid)
     155                 :            : {
     156         [ +  - ]:         81 :         if (wpa_s->driver->add_pmkid) {
     157                 :         81 :                 return wpa_s->driver->add_pmkid(wpa_s->drv_priv, bssid, pmkid);
     158                 :            :         }
     159                 :         81 :         return -1;
     160                 :            : }
     161                 :            : 
     162                 :         81 : static inline int wpa_drv_remove_pmkid(struct wpa_supplicant *wpa_s,
     163                 :            :                                        const u8 *bssid, const u8 *pmkid)
     164                 :            : {
     165         [ +  - ]:         81 :         if (wpa_s->driver->remove_pmkid) {
     166                 :         81 :                 return wpa_s->driver->remove_pmkid(wpa_s->drv_priv, bssid,
     167                 :            :                                                    pmkid);
     168                 :            :         }
     169                 :         81 :         return -1;
     170                 :            : }
     171                 :            : 
     172                 :         22 : static inline int wpa_drv_flush_pmkid(struct wpa_supplicant *wpa_s)
     173                 :            : {
     174         [ +  - ]:         22 :         if (wpa_s->driver->flush_pmkid) {
     175                 :         22 :                 return wpa_s->driver->flush_pmkid(wpa_s->drv_priv);
     176                 :            :         }
     177                 :         22 :         return -1;
     178                 :            : }
     179                 :            : 
     180                 :        107 : static inline int wpa_drv_get_capa(struct wpa_supplicant *wpa_s,
     181                 :            :                                    struct wpa_driver_capa *capa)
     182                 :            : {
     183         [ +  - ]:        107 :         if (wpa_s->driver->get_capa) {
     184                 :        107 :                 return wpa_s->driver->get_capa(wpa_s->drv_priv, capa);
     185                 :            :         }
     186                 :        107 :         return -1;
     187                 :            : }
     188                 :            : 
     189                 :        529 : static inline void wpa_drv_poll(struct wpa_supplicant *wpa_s)
     190                 :            : {
     191         [ -  + ]:        529 :         if (wpa_s->driver->poll) {
     192                 :          0 :                 wpa_s->driver->poll(wpa_s->drv_priv);
     193                 :            :         }
     194                 :        529 : }
     195                 :            : 
     196                 :         22 : static inline const char * wpa_drv_get_ifname(struct wpa_supplicant *wpa_s)
     197                 :            : {
     198         [ -  + ]:         22 :         if (wpa_s->driver->get_ifname) {
     199                 :          0 :                 return wpa_s->driver->get_ifname(wpa_s->drv_priv);
     200                 :            :         }
     201                 :         22 :         return NULL;
     202                 :            : }
     203                 :            : 
     204                 :         22 : static inline const u8 * wpa_drv_get_mac_addr(struct wpa_supplicant *wpa_s)
     205                 :            : {
     206         [ +  - ]:         22 :         if (wpa_s->driver->get_mac_addr) {
     207                 :         22 :                 return wpa_s->driver->get_mac_addr(wpa_s->drv_priv);
     208                 :            :         }
     209                 :         22 :         return NULL;
     210                 :            : }
     211                 :            : 
     212                 :          0 : static inline int wpa_drv_send_eapol(struct wpa_supplicant *wpa_s,
     213                 :            :                                      const u8 *dst, u16 proto,
     214                 :            :                                      const u8 *data, size_t data_len)
     215                 :            : {
     216         [ #  # ]:          0 :         if (wpa_s->driver->send_eapol)
     217                 :          0 :                 return wpa_s->driver->send_eapol(wpa_s->drv_priv, dst, proto,
     218                 :            :                                                  data, data_len);
     219                 :          0 :         return -1;
     220                 :            : }
     221                 :            : 
     222                 :       2526 : static inline int wpa_drv_set_operstate(struct wpa_supplicant *wpa_s,
     223                 :            :                                         int state)
     224                 :            : {
     225         [ +  - ]:       2526 :         if (wpa_s->driver->set_operstate)
     226                 :       2526 :                 return wpa_s->driver->set_operstate(wpa_s->drv_priv, state);
     227                 :       2526 :         return 0;
     228                 :            : }
     229                 :            : 
     230                 :       1206 : static inline int wpa_drv_mlme_setprotection(struct wpa_supplicant *wpa_s,
     231                 :            :                                              const u8 *addr, int protect_type,
     232                 :            :                                              int key_type)
     233                 :            : {
     234         [ -  + ]:       1206 :         if (wpa_s->driver->mlme_setprotection)
     235                 :          0 :                 return wpa_s->driver->mlme_setprotection(wpa_s->drv_priv, addr,
     236                 :            :                                                          protect_type,
     237                 :            :                                                          key_type);
     238                 :       1206 :         return 0;
     239                 :            : }
     240                 :            : 
     241                 :            : static inline struct hostapd_hw_modes *
     242                 :       1024 : wpa_drv_get_hw_feature_data(struct wpa_supplicant *wpa_s, u16 *num_modes,
     243                 :            :                             u16 *flags)
     244                 :            : {
     245         [ +  - ]:       1024 :         if (wpa_s->driver->get_hw_feature_data)
     246                 :       1024 :                 return wpa_s->driver->get_hw_feature_data(wpa_s->drv_priv,
     247                 :            :                                                           num_modes, flags);
     248                 :       1024 :         return NULL;
     249                 :            : }
     250                 :            : 
     251                 :          0 : static inline int wpa_drv_set_country(struct wpa_supplicant *wpa_s,
     252                 :            :                                       const char *alpha2)
     253                 :            : {
     254         [ #  # ]:          0 :         if (wpa_s->driver->set_country)
     255                 :          0 :                 return wpa_s->driver->set_country(wpa_s->drv_priv, alpha2);
     256                 :          0 :         return 0;
     257                 :            : }
     258                 :            : 
     259                 :        241 : static inline int wpa_drv_send_mlme(struct wpa_supplicant *wpa_s,
     260                 :            :                                     const u8 *data, size_t data_len, int noack)
     261                 :            : {
     262         [ +  - ]:        241 :         if (wpa_s->driver->send_mlme)
     263                 :        241 :                 return wpa_s->driver->send_mlme(wpa_s->drv_priv,
     264                 :            :                                                 data, data_len, noack);
     265                 :        241 :         return -1;
     266                 :            : }
     267                 :            : 
     268                 :          0 : static inline int wpa_drv_update_ft_ies(struct wpa_supplicant *wpa_s,
     269                 :            :                                         const u8 *md,
     270                 :            :                                         const u8 *ies, size_t ies_len)
     271                 :            : {
     272         [ #  # ]:          0 :         if (wpa_s->driver->update_ft_ies)
     273                 :          0 :                 return wpa_s->driver->update_ft_ies(wpa_s->drv_priv, md,
     274                 :            :                                                     ies, ies_len);
     275                 :          0 :         return -1;
     276                 :            : }
     277                 :            : 
     278                 :          6 : static inline int wpa_drv_send_ft_action(struct wpa_supplicant *wpa_s,
     279                 :            :                                          u8 action, const u8 *target_ap,
     280                 :            :                                          const u8 *ies, size_t ies_len)
     281                 :            : {
     282         [ +  - ]:          6 :         if (wpa_s->driver->send_ft_action)
     283                 :          6 :                 return wpa_s->driver->send_ft_action(wpa_s->drv_priv, action,
     284                 :            :                                                      target_ap, ies, ies_len);
     285                 :          6 :         return -1;
     286                 :            : }
     287                 :            : 
     288                 :            : static inline int wpa_drv_set_ap(struct wpa_supplicant *wpa_s,
     289                 :            :                                  struct wpa_driver_ap_params *params)
     290                 :            : {
     291                 :            :         if (wpa_s->driver->set_ap)
     292                 :            :                 return wpa_s->driver->set_ap(wpa_s->drv_priv, params);
     293                 :            :         return -1;
     294                 :            : }
     295                 :            : 
     296                 :         81 : static inline int wpa_drv_sta_add(struct wpa_supplicant *wpa_s,
     297                 :            :                                   struct hostapd_sta_add_params *params)
     298                 :            : {
     299         [ +  - ]:         81 :         if (wpa_s->driver->sta_add)
     300                 :         81 :                 return wpa_s->driver->sta_add(wpa_s->drv_priv, params);
     301                 :         81 :         return -1;
     302                 :            : }
     303                 :            : 
     304                 :            : static inline int wpa_drv_sta_remove(struct wpa_supplicant *wpa_s,
     305                 :            :                                      const u8 *addr)
     306                 :            : {
     307                 :            :         if (wpa_s->driver->sta_remove)
     308                 :            :                 return wpa_s->driver->sta_remove(wpa_s->drv_priv, addr);
     309                 :            :         return -1;
     310                 :            : }
     311                 :            : 
     312                 :            : static inline int wpa_drv_hapd_send_eapol(struct wpa_supplicant *wpa_s,
     313                 :            :                                           const u8 *addr, const u8 *data,
     314                 :            :                                           size_t data_len, int encrypt,
     315                 :            :                                           const u8 *own_addr, u32 flags)
     316                 :            : {
     317                 :            :         if (wpa_s->driver->hapd_send_eapol)
     318                 :            :                 return wpa_s->driver->hapd_send_eapol(wpa_s->drv_priv, addr,
     319                 :            :                                                       data, data_len, encrypt,
     320                 :            :                                                       own_addr, flags);
     321                 :            :         return -1;
     322                 :            : }
     323                 :            : 
     324                 :         12 : static inline int wpa_drv_sta_set_flags(struct wpa_supplicant *wpa_s,
     325                 :            :                                         const u8 *addr, int total_flags,
     326                 :            :                                         int flags_or, int flags_and)
     327                 :            : {
     328         [ +  - ]:         12 :         if (wpa_s->driver->sta_set_flags)
     329                 :         12 :                 return wpa_s->driver->sta_set_flags(wpa_s->drv_priv, addr,
     330                 :            :                                                     total_flags, flags_or,
     331                 :            :                                                     flags_and);
     332                 :         12 :         return -1;
     333                 :            : }
     334                 :            : 
     335                 :       5782 : static inline int wpa_drv_set_supp_port(struct wpa_supplicant *wpa_s,
     336                 :            :                                         int authorized)
     337                 :            : {
     338         [ +  - ]:       5782 :         if (wpa_s->driver->set_supp_port) {
     339                 :       5782 :                 return wpa_s->driver->set_supp_port(wpa_s->drv_priv,
     340                 :            :                                                     authorized);
     341                 :            :         }
     342                 :       5782 :         return 0;
     343                 :            : }
     344                 :            : 
     345                 :        298 : static inline int wpa_drv_send_action(struct wpa_supplicant *wpa_s,
     346                 :            :                                       unsigned int freq,
     347                 :            :                                       unsigned int wait,
     348                 :            :                                       const u8 *dst, const u8 *src,
     349                 :            :                                       const u8 *bssid,
     350                 :            :                                       const u8 *data, size_t data_len,
     351                 :            :                                       int no_cck)
     352                 :            : {
     353         [ +  - ]:        298 :         if (wpa_s->driver->send_action)
     354                 :        298 :                 return wpa_s->driver->send_action(wpa_s->drv_priv, freq,
     355                 :            :                                                   wait, dst, src, bssid,
     356                 :            :                                                   data, data_len, no_cck);
     357                 :        298 :         return -1;
     358                 :            : }
     359                 :            : 
     360                 :        134 : static inline void wpa_drv_send_action_cancel_wait(struct wpa_supplicant *wpa_s)
     361                 :            : {
     362         [ +  - ]:        134 :         if (wpa_s->driver->send_action_cancel_wait)
     363                 :        134 :                 wpa_s->driver->send_action_cancel_wait(wpa_s->drv_priv);
     364                 :        134 : }
     365                 :            : 
     366                 :            : static inline int wpa_drv_set_freq(struct wpa_supplicant *wpa_s,
     367                 :            :                                    struct hostapd_freq_params *freq)
     368                 :            : {
     369                 :            :         if (wpa_s->driver->set_freq)
     370                 :            :                 return wpa_s->driver->set_freq(wpa_s->drv_priv, freq);
     371                 :            :         return -1;
     372                 :            : }
     373                 :            : 
     374                 :         19 : static inline int wpa_drv_if_add(struct wpa_supplicant *wpa_s,
     375                 :            :                                  enum wpa_driver_if_type type,
     376                 :            :                                  const char *ifname, const u8 *addr,
     377                 :            :                                  void *bss_ctx, char *force_ifname,
     378                 :            :                                  u8 *if_addr, const char *bridge)
     379                 :            : {
     380         [ +  - ]:         19 :         if (wpa_s->driver->if_add)
     381                 :         19 :                 return wpa_s->driver->if_add(wpa_s->drv_priv, type, ifname,
     382                 :            :                                              addr, bss_ctx, NULL, force_ifname,
     383                 :            :                                              if_addr, bridge, 0);
     384                 :         19 :         return -1;
     385                 :            : }
     386                 :            : 
     387                 :         19 : static inline int wpa_drv_if_remove(struct wpa_supplicant *wpa_s,
     388                 :            :                                     enum wpa_driver_if_type type,
     389                 :            :                                     const char *ifname)
     390                 :            : {
     391         [ +  - ]:         19 :         if (wpa_s->driver->if_remove)
     392                 :         19 :                 return wpa_s->driver->if_remove(wpa_s->drv_priv, type, ifname);
     393                 :         19 :         return -1;
     394                 :            : }
     395                 :            : 
     396                 :        494 : static inline int wpa_drv_remain_on_channel(struct wpa_supplicant *wpa_s,
     397                 :            :                                             unsigned int freq,
     398                 :            :                                             unsigned int duration)
     399                 :            : {
     400         [ +  - ]:        494 :         if (wpa_s->driver->remain_on_channel)
     401                 :        494 :                 return wpa_s->driver->remain_on_channel(wpa_s->drv_priv, freq,
     402                 :            :                                                         duration);
     403                 :        494 :         return -1;
     404                 :            : }
     405                 :            : 
     406                 :        154 : static inline int wpa_drv_cancel_remain_on_channel(
     407                 :            :         struct wpa_supplicant *wpa_s)
     408                 :            : {
     409         [ +  - ]:        154 :         if (wpa_s->driver->cancel_remain_on_channel)
     410                 :        154 :                 return wpa_s->driver->cancel_remain_on_channel(
     411                 :            :                         wpa_s->drv_priv);
     412                 :        154 :         return -1;
     413                 :            : }
     414                 :            : 
     415                 :       2458 : static inline int wpa_drv_probe_req_report(struct wpa_supplicant *wpa_s,
     416                 :            :                                            int report)
     417                 :            : {
     418         [ +  - ]:       2458 :         if (wpa_s->driver->probe_req_report)
     419                 :       2458 :                 return wpa_s->driver->probe_req_report(wpa_s->drv_priv,
     420                 :            :                                                        report);
     421                 :       2458 :         return -1;
     422                 :            : }
     423                 :            : 
     424                 :         55 : static inline int wpa_drv_deinit_ap(struct wpa_supplicant *wpa_s)
     425                 :            : {
     426         [ +  - ]:         55 :         if (wpa_s->driver->deinit_ap)
     427                 :         55 :                 return wpa_s->driver->deinit_ap(wpa_s->drv_priv);
     428                 :         55 :         return 0;
     429                 :            : }
     430                 :            : 
     431                 :         50 : static inline int wpa_drv_deinit_p2p_cli(struct wpa_supplicant *wpa_s)
     432                 :            : {
     433         [ +  - ]:         50 :         if (wpa_s->driver->deinit_p2p_cli)
     434                 :         50 :                 return wpa_s->driver->deinit_p2p_cli(wpa_s->drv_priv);
     435                 :         50 :         return 0;
     436                 :            : }
     437                 :            : 
     438                 :          0 : static inline void wpa_drv_suspend(struct wpa_supplicant *wpa_s)
     439                 :            : {
     440         [ #  # ]:          0 :         if (wpa_s->driver->suspend)
     441                 :          0 :                 wpa_s->driver->suspend(wpa_s->drv_priv);
     442                 :          0 : }
     443                 :            : 
     444                 :          0 : static inline void wpa_drv_resume(struct wpa_supplicant *wpa_s)
     445                 :            : {
     446         [ #  # ]:          0 :         if (wpa_s->driver->resume)
     447                 :          0 :                 wpa_s->driver->resume(wpa_s->drv_priv);
     448                 :          0 : }
     449                 :            : 
     450                 :          0 : static inline int wpa_drv_signal_monitor(struct wpa_supplicant *wpa_s,
     451                 :            :                                          int threshold, int hysteresis)
     452                 :            : {
     453         [ #  # ]:          0 :         if (wpa_s->driver->signal_monitor)
     454                 :          0 :                 return wpa_s->driver->signal_monitor(wpa_s->drv_priv,
     455                 :            :                                                      threshold, hysteresis);
     456                 :          0 :         return -1;
     457                 :            : }
     458                 :            : 
     459                 :          0 : static inline int wpa_drv_signal_poll(struct wpa_supplicant *wpa_s,
     460                 :            :                                       struct wpa_signal_info *si)
     461                 :            : {
     462         [ #  # ]:          0 :         if (wpa_s->driver->signal_poll)
     463                 :          0 :                 return wpa_s->driver->signal_poll(wpa_s->drv_priv, si);
     464                 :          0 :         return -1;
     465                 :            : }
     466                 :            : 
     467                 :          0 : static inline int wpa_drv_pktcnt_poll(struct wpa_supplicant *wpa_s,
     468                 :            :                                       struct hostap_sta_driver_data *sta)
     469                 :            : {
     470         [ #  # ]:          0 :         if (wpa_s->driver->read_sta_data)
     471                 :          0 :                 return wpa_s->driver->read_sta_data(wpa_s->drv_priv, sta,
     472                 :          0 :                                                     wpa_s->bssid);
     473                 :          0 :         return -1;
     474                 :            : }
     475                 :            : 
     476                 :       2436 : static inline int wpa_drv_set_ap_wps_ie(struct wpa_supplicant *wpa_s,
     477                 :            :                                         const struct wpabuf *beacon,
     478                 :            :                                         const struct wpabuf *proberesp,
     479                 :            :                                         const struct wpabuf *assocresp)
     480                 :            : {
     481         [ +  - ]:       2436 :         if (!wpa_s->driver->set_ap_wps_ie)
     482                 :       2436 :                 return -1;
     483                 :       2436 :         return wpa_s->driver->set_ap_wps_ie(wpa_s->drv_priv, beacon,
     484                 :            :                                             proberesp, assocresp);
     485                 :            : }
     486                 :            : 
     487                 :          6 : static inline int wpa_drv_shared_freq(struct wpa_supplicant *wpa_s)
     488                 :            : {
     489         [ -  + ]:          6 :         if (!wpa_s->driver->shared_freq)
     490                 :          0 :                 return -1;
     491                 :          6 :         return wpa_s->driver->shared_freq(wpa_s->drv_priv);
     492                 :            : }
     493                 :            : 
     494                 :          0 : static inline int wpa_drv_get_noa(struct wpa_supplicant *wpa_s,
     495                 :            :                                   u8 *buf, size_t buf_len)
     496                 :            : {
     497         [ #  # ]:          0 :         if (!wpa_s->driver->get_noa)
     498                 :          0 :                 return -1;
     499                 :          0 :         return wpa_s->driver->get_noa(wpa_s->drv_priv, buf, buf_len);
     500                 :            : }
     501                 :            : 
     502                 :          0 : static inline int wpa_drv_set_p2p_powersave(struct wpa_supplicant *wpa_s,
     503                 :            :                                             int legacy_ps, int opp_ps,
     504                 :            :                                             int ctwindow)
     505                 :            : {
     506         [ #  # ]:          0 :         if (!wpa_s->driver->set_p2p_powersave)
     507                 :          0 :                 return -1;
     508                 :          0 :         return wpa_s->driver->set_p2p_powersave(wpa_s->drv_priv, legacy_ps,
     509                 :            :                                                 opp_ps, ctwindow);
     510                 :            : }
     511                 :            : 
     512                 :          0 : static inline int wpa_drv_ampdu(struct wpa_supplicant *wpa_s, int ampdu)
     513                 :            : {
     514         [ #  # ]:          0 :         if (!wpa_s->driver->ampdu)
     515                 :          0 :                 return -1;
     516                 :          0 :         return wpa_s->driver->ampdu(wpa_s->drv_priv, ampdu);
     517                 :            : }
     518                 :            : 
     519                 :        105 : static inline int wpa_drv_send_tdls_mgmt(struct wpa_supplicant *wpa_s,
     520                 :            :                                          const u8 *dst, u8 action_code,
     521                 :            :                                          u8 dialog_token, u16 status_code,
     522                 :            :                                          const u8 *buf, size_t len)
     523                 :            : {
     524         [ +  - ]:        105 :         if (wpa_s->driver->send_tdls_mgmt) {
     525                 :        105 :                 return wpa_s->driver->send_tdls_mgmt(wpa_s->drv_priv, dst,
     526                 :            :                                                      action_code, dialog_token,
     527                 :            :                                                      status_code, buf, len);
     528                 :            :         }
     529                 :        105 :         return -1;
     530                 :            : }
     531                 :            : 
     532                 :        753 : static inline int wpa_drv_tdls_oper(struct wpa_supplicant *wpa_s,
     533                 :            :                                     enum tdls_oper oper, const u8 *peer)
     534                 :            : {
     535         [ -  + ]:        753 :         if (!wpa_s->driver->tdls_oper)
     536                 :          0 :                 return -1;
     537                 :        753 :         return wpa_s->driver->tdls_oper(wpa_s->drv_priv, oper, peer);
     538                 :            : }
     539                 :            : 
     540                 :            : #ifdef ANDROID
     541                 :            : static inline int wpa_drv_driver_cmd(struct wpa_supplicant *wpa_s,
     542                 :            :                                      char *cmd, char *buf, size_t buf_len)
     543                 :            : {
     544                 :            :         if (!wpa_s->driver->driver_cmd)
     545                 :            :                 return -1;
     546                 :            :         return wpa_s->driver->driver_cmd(wpa_s->drv_priv, cmd, buf, buf_len);
     547                 :            : }
     548                 :            : #endif /* ANDROID */
     549                 :            : 
     550                 :        248 : static inline void wpa_drv_set_rekey_info(struct wpa_supplicant *wpa_s,
     551                 :            :                                           const u8 *kek, const u8 *kck,
     552                 :            :                                           const u8 *replay_ctr)
     553                 :            : {
     554         [ -  + ]:        248 :         if (!wpa_s->driver->set_rekey_info)
     555                 :        248 :                 return;
     556                 :        248 :         wpa_s->driver->set_rekey_info(wpa_s->drv_priv, kek, kck, replay_ctr);
     557                 :            : }
     558                 :            : 
     559                 :        655 : static inline int wpa_drv_radio_disable(struct wpa_supplicant *wpa_s,
     560                 :            :                                         int disabled)
     561                 :            : {
     562         [ +  - ]:        655 :         if (!wpa_s->driver->radio_disable)
     563                 :        655 :                 return -1;
     564                 :        655 :         return wpa_s->driver->radio_disable(wpa_s->drv_priv, disabled);
     565                 :            : }
     566                 :            : 
     567                 :            : static inline int wpa_drv_switch_channel(struct wpa_supplicant *wpa_s,
     568                 :            :                                          struct csa_settings *settings)
     569                 :            : {
     570                 :            :         if (!wpa_s->driver->switch_channel)
     571                 :            :                 return -1;
     572                 :            :         return wpa_s->driver->switch_channel(wpa_s->drv_priv, settings);
     573                 :            : }
     574                 :            : 
     575                 :          7 : static inline int wpa_drv_wnm_oper(struct wpa_supplicant *wpa_s,
     576                 :            :                                    enum wnm_oper oper, const u8 *peer,
     577                 :            :                                    u8 *buf, u16 *buf_len)
     578                 :            : {
     579         [ +  - ]:          7 :         if (!wpa_s->driver->wnm_oper)
     580                 :          7 :                 return -1;
     581                 :          7 :         return wpa_s->driver->wnm_oper(wpa_s->drv_priv, oper, peer, buf,
     582                 :            :                                        buf_len);
     583                 :            : }
     584                 :            : 
     585                 :        668 : static inline int wpa_drv_status(struct wpa_supplicant *wpa_s,
     586                 :            :                                  char *buf, size_t buflen)
     587                 :            : {
     588         [ -  + ]:        668 :         if (!wpa_s->driver->status)
     589                 :          0 :                 return -1;
     590                 :        668 :         return wpa_s->driver->status(wpa_s->drv_priv, buf, buflen);
     591                 :            : }
     592                 :            : 
     593                 :          2 : static inline int wpa_drv_set_qos_map(struct wpa_supplicant *wpa_s,
     594                 :            :                                       const u8 *qos_map_set, u8 qos_map_set_len)
     595                 :            : {
     596         [ -  + ]:          2 :         if (!wpa_s->driver->set_qos_map)
     597                 :          0 :                 return -1;
     598                 :          2 :         return wpa_s->driver->set_qos_map(wpa_s->drv_priv, qos_map_set,
     599                 :            :                                           qos_map_set_len);
     600                 :            : }
     601                 :            : 
     602                 :            : #endif /* DRIVER_I_H */

Generated by: LCOV version 1.9